1--TEST-- 2Test join() function : usage variations - different values for 'pieces' argument 3--FILE-- 4<?php 5/* Prototype : string join( string $glue, array $pieces ) 6 * Description: Join array elements with a string 7 * Source code: ext/standard/string.c 8 * Alias of function: implode() 9*/ 10 11/* 12 * test join() by giving different pieces values 13*/ 14 15echo "*** Testing join() : usage variations ***\n"; 16 17$pieces_arrays = array ( 18 array(1, 2), // array with default keys and numrice values 19 array(1.1, 2.2), // array with default keys & float values 20 array( array(2), array(1)), // sub arrays 21 array(false,true), // array with default keys and boolean values 22 array(), // empty array 23 array(NULL), // array with NULL 24 array("a","aaaa","b","bbbb","c","ccccc"), 25 26 // associative arrays 27 array(1 => "one", 2 => "two", 3 => "three"), // explicit numeric keys, string values 28 array("one" => 1, "two" => 2, "three" => 3 ), // string keys & numeric values 29 array( 1 => 10, 2 => 20, 4 => 40, 3 => 30), // explicit numeric keys and numeric values 30 array( "one" => "ten", "two" => "twenty", "three" => "thirty"), // string key/value 31 array("one" => 1, 2 => "two", 4 => "four"), //mixed 32 33 // associative array, containing null/empty/boolean values as key/value 34 array(NULL => "NULL", null => "null", "NULL" => NULL, "null" => null), 35 array(true => "true", false => "false", "false" => false, "true" => true), 36 array("" => "emptyd", '' => 'emptys', "emptyd" => "", 'emptys' => ''), 37 array(1 => '', 2 => "", 3 => NULL, 4 => null, 5 => false, 6 => true), 38 array('' => 1, "" => 2, NULL => 3, null => 4, false => 5, true => 6), 39 40 // array with repetative keys 41 array("One" => 1, "two" => 2, "One" => 10, "two" => 20, "three" => 3) 42); 43 44// a multichar glue value 45$glue = "], ["; 46 47// loop through each $pieces_arrays element and call join() 48$iteration = 1; 49for($index = 0; $index < count($pieces_arrays); $index ++) { 50 echo "-- Iteration $iteration --\n"; 51 var_dump( join($glue, $pieces_arrays[$index]) ); 52 $iteration ++; 53} 54 55echo "Done\n"; 56?> 57--EXPECTF-- 58*** Testing join() : usage variations *** 59-- Iteration 1 -- 60string(6) "1], [2" 61-- Iteration 2 -- 62string(10) "1.1], [2.2" 63-- Iteration 3 -- 64 65Notice: Array to string conversion in %s on line %d 66 67Notice: Array to string conversion in %s on line %d 68string(14) "Array], [Array" 69-- Iteration 4 -- 70string(5) "], [1" 71-- Iteration 5 -- 72string(0) "" 73-- Iteration 6 -- 74string(0) "" 75-- Iteration 7 -- 76string(36) "a], [aaaa], [b], [bbbb], [c], [ccccc" 77-- Iteration 8 -- 78string(19) "one], [two], [three" 79-- Iteration 9 -- 80string(11) "1], [2], [3" 81-- Iteration 10 -- 82string(20) "10], [20], [40], [30" 83-- Iteration 11 -- 84string(23) "ten], [twenty], [thirty" 85-- Iteration 12 -- 86string(16) "1], [two], [four" 87-- Iteration 13 -- 88string(12) "null], [], [" 89-- Iteration 14 -- 90string(22) "true], [false], [], [1" 91-- Iteration 15 -- 92string(14) "emptys], [], [" 93-- Iteration 16 -- 94string(21) "], [], [], [], [], [1" 95-- Iteration 17 -- 96string(11) "4], [5], [6" 97-- Iteration 18 -- 98string(13) "10], [20], [3" 99Done 100