php-src/ext/standard/tests/strings/join_variation4.phpt
2007-09-29 09:08:24 +00:00

109 lines
3.4 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--TEST--
Test join() function : usage variations - different values for 'glue' argument
--FILE--
<?php
/* Prototype : string join( string $glue, array $pieces )
* Description: Join array elements with a string
* Source code: ext/standard/string.c
* Alias of function: implode()
*/
/*
* test join() by passing different glue arguments
*/
echo "*** Testing join() : usage variations ***\n";
$glues = array (
"TRUE",
true,
false,
array("key1", "key2"),
"",
" ",
"string\x00between",
-1.566599999999999,
NULL,
-0,
'\0'
);
$pieces = array (
2,
0,
-639,
-1.3444,
true,
"PHP",
false,
NULL,
"",
" ",
6999.99999999,
"string\x00with\x00...\0"
);
/* loop through each element of $glues and call join */
$counter = 1;
for($index = 0; $index < count($glues); $index ++) {
echo "-- Iteration $counter --\n";
var_dump( join($glues[$index], $pieces) );
$counter++;
}
echo "Done\n";
?>
--EXPECTF--
*** Testing join() : usage variations ***
-- Iteration 1 --
string(91) "2TRUE0TRUE-639TRUE-1.3444TRUE1TRUEPHPTRUETRUETRUETRUE TRUE6999.99999999TRUEstringwith..."
-- Iteration 2 --
string(58) "2101-6391-1.3444111PHP1111 16999.999999991stringwith..."
-- Iteration 3 --
string(47) "20-639-1.34441PHP 6999.99999999stringwith..."
-- Iteration 4 --
Notice: Array to string conversion in %s on line %d
string(13) "key1Arraykey2"
-- Iteration 5 --
string(47) "20-639-1.34441PHP 6999.99999999stringwith..."
-- Iteration 6 --
string(58) "2 0 -639 -1.3444 1 PHP 6999.99999999 stringwith..."
-- Iteration 7 --
string(201) "2stringbetween0stringbetween-639stringbetween-1.3444stringbetween1stringbetweenPHPstringbetweenstringbetweenstringbetweenstringbetween stringbetween6999.99999999stringbetweenstringwith..."
-- Iteration 8 --
string(124) "2-1.56660-1.5666-639-1.5666-1.3444-1.56661-1.5666PHP-1.5666-1.5666-1.5666-1.5666 -1.56666999.99999999-1.5666stringwith..."
-- Iteration 9 --
string(47) "20-639-1.34441PHP 6999.99999999stringwith..."
-- Iteration 10 --
string(58) "2000-6390-1.3444010PHP0000 06999.999999990stringwith..."
-- Iteration 11 --
string(69) "2\00\0-639\0-1.3444\01\0PHP\0\0\0\0 \06999.99999999\0stringwith..."
Done
--UEXPECTF--
*** Testing join() : usage variations ***
-- Iteration 1 --
unicode(91) "2TRUE0TRUE-639TRUE-1.3444TRUE1TRUEPHPTRUETRUETRUETRUE TRUE6999.99999999TRUEstringwith..."
-- Iteration 2 --
unicode(58) "2101-6391-1.3444111PHP1111 16999.999999991stringwith..."
-- Iteration 3 --
unicode(47) "20-639-1.34441PHP 6999.99999999stringwith..."
-- Iteration 4 --
Notice: Array to string conversion in %s on line %d
unicode(13) "key1Arraykey2"
-- Iteration 5 --
unicode(47) "20-639-1.34441PHP 6999.99999999stringwith..."
-- Iteration 6 --
unicode(58) "2 0 -639 -1.3444 1 PHP 6999.99999999 stringwith..."
-- Iteration 7 --
unicode(201) "2stringbetween0stringbetween-639stringbetween-1.3444stringbetween1stringbetweenPHPstringbetweenstringbetweenstringbetweenstringbetween stringbetween6999.99999999stringbetweenstringwith..."
-- Iteration 8 --
unicode(124) "2-1.56660-1.5666-639-1.5666-1.3444-1.56661-1.5666PHP-1.5666-1.5666-1.5666-1.5666 -1.56666999.99999999-1.5666stringwith..."
-- Iteration 9 --
unicode(47) "20-639-1.34441PHP 6999.99999999stringwith..."
-- Iteration 10 --
unicode(58) "2000-6390-1.3444010PHP0000 06999.999999990stringwith..."
-- Iteration 11 --
unicode(69) "2\00\0-639\0-1.3444\01\0PHP\0\0\0\0 \06999.99999999\0stringwith..."
Done