array_diff_variation4.phpt [plain text]
--TEST--
Test array_diff() function : usage variations - array with different data types as values
--FILE--
<?php
echo "*** Testing array_diff() : usage variations ***\n";
$array = array(1, 2);
$unset_var = 10;
unset ($unset_var);
$heredoc = <<<END
This is a heredoc
END;
$values = array(
"empty array" => array(),
"int" => array(
0,
1,
12345,
-2345),
"float" => array(
10.5,
-10.5,
12.3456789000e10,
12.3456789000E-10,
.5),
"null" => array(
NULL,
null),
"boolean" => array(
true,
false,
TRUE,
FALSE),
"empty" => array(
"",
''),
"string" => array(
"string",
'string',
$heredoc),
"binary" => array(
b"binary",
(binary)"binary"),
"undefined" => array(
@$undefined_var),
"unset" => array(
@$unset_var)
);
$iterator = 1;
foreach($values as $value) {
echo "\n Iteration: $iterator \n";
var_dump( array_diff($array, $value) );
$iterator++;
};
echo "Done";
?>
--EXPECTF--
*** Testing array_diff() : usage variations ***
Iteration: 1
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Iteration: 2
array(1) {
[1]=>
int(2)
}
Iteration: 3
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Iteration: 4
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Iteration: 5
array(1) {
[1]=>
int(2)
}
Iteration: 6
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Iteration: 7
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Iteration: 8
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Iteration: 9
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Iteration: 10
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
Done