mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
New PHP testcases for array_diff_ukey function
This commit is contained in:
parent
1d5ba8bb21
commit
5a37a48082
55
ext/standard/tests/array/array_diff_ukey_error.phpt
Normal file
55
ext/standard/tests/array/array_diff_ukey_error.phpt
Normal file
@ -0,0 +1,55 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : error conditions
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : error conditions ***\n";
|
||||
|
||||
// Initialize
|
||||
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
|
||||
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
|
||||
$extra_arg = 10;
|
||||
|
||||
function key_compare_func($key1, $key2)
|
||||
{
|
||||
if ($key1 == $key2) {
|
||||
return 0;
|
||||
}
|
||||
return ($key1 > $key2)? 1:-1;
|
||||
}
|
||||
|
||||
//Test array_diff_ukey with one more than the expected number of arguments
|
||||
echo "\n-- Testing array_diff_ukey() function with more than expected no. of arguments --\n";
|
||||
var_dump( array_diff_ukey($array1, $array2, 'key_compare_func', $extra_arg) );
|
||||
|
||||
// Testing array_diff_ukey with one less than the expected number of arguments
|
||||
echo "\n-- Testing array_diff_ukey() function with less than expected no. of arguments --\n";
|
||||
var_dump( array_diff_ukey($array1, $array2) );
|
||||
|
||||
// Testing array_diff_ukey with one less than the expected number of arguments
|
||||
echo "\n-- Testing array_diff_ukey() function with no arguments --\n";
|
||||
var_dump( array_diff_ukey() );
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : error conditions ***
|
||||
|
||||
-- Testing array_diff_ukey() function with more than expected no. of arguments --
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing array_diff_ukey() function with less than expected no. of arguments --
|
||||
|
||||
Warning: array_diff_ukey(): at least 3 parameters are required, 2 given in %s on line %d
|
||||
NULL
|
||||
|
||||
-- Testing array_diff_ukey() function with no arguments --
|
||||
|
||||
Warning: array_diff_ukey(): at least 3 parameters are required, 0 given in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
318
ext/standard/tests/array/array_diff_ukey_variation1.phpt
Normal file
318
ext/standard/tests/array/array_diff_ukey_variation1.phpt
Normal file
@ -0,0 +1,318 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing unexpected values to first argument
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialise function arguments not being substituted (if any)
|
||||
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
|
||||
$array3 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
|
||||
|
||||
function key_compare_func($key1, $key2)
|
||||
{
|
||||
if ($key1 == $key2) {
|
||||
return 0;
|
||||
}
|
||||
return ($key1 > $key2)? 1:-1;
|
||||
}
|
||||
|
||||
//get an unset variable
|
||||
$unset_var = 10;
|
||||
unset ($unset_var);
|
||||
|
||||
//resource variable
|
||||
$fp = fopen(__FILE__, "r");
|
||||
|
||||
// define some classes
|
||||
class classWithToString
|
||||
{
|
||||
public function __toString() {
|
||||
return "Class A object";
|
||||
}
|
||||
}
|
||||
|
||||
class classWithoutToString
|
||||
{
|
||||
}
|
||||
|
||||
// heredoc string
|
||||
$heredoc = <<<EOT
|
||||
hello world
|
||||
EOT;
|
||||
|
||||
//array of values to iterate over
|
||||
$inputs = array(
|
||||
|
||||
// int data
|
||||
'int 0' => 0,
|
||||
'int 1' => 1,
|
||||
'int 12345' => 12345,
|
||||
'int -12345' => -2345,
|
||||
|
||||
// float data
|
||||
'float 10.5' => 10.5,
|
||||
'float -10.5' => -10.5,
|
||||
'float 12.3456789000e10' => 12.3456789000e10,
|
||||
'float -12.3456789000e10' => -12.3456789000e10,
|
||||
'float .5' => .5,
|
||||
|
||||
// null data
|
||||
'uppercase NULL' => NULL,
|
||||
'lowercase null' => null,
|
||||
|
||||
// boolean data
|
||||
'lowercase true' => true,
|
||||
'lowercase false' =>false,
|
||||
'uppercase TRUE' =>TRUE,
|
||||
'uppercase FALSE' =>FALSE,
|
||||
|
||||
// empty data
|
||||
'empty string DQ' => "",
|
||||
'empty string SQ' => '',
|
||||
|
||||
// string data
|
||||
'string DQ' => "string",
|
||||
'string SQ' => 'string',
|
||||
'mixed case string' => "sTrInG",
|
||||
'heredoc' => $heredoc,
|
||||
|
||||
// object data
|
||||
'instance of classWithToString' => new classWithToString(),
|
||||
'instance of classWithoutToString' => new classWithoutToString(),
|
||||
|
||||
// undefined data
|
||||
'undefined var' => @$undefined_var,
|
||||
|
||||
// unset data
|
||||
'unset var' => @$unset_var,
|
||||
|
||||
// resource data
|
||||
'resource' => $fp,
|
||||
);
|
||||
|
||||
// loop through each element of the array for arr1
|
||||
foreach($inputs as $key =>$value) {
|
||||
echo "\n--$key--\n";
|
||||
var_dump( array_diff_ukey($value, $array2, 'key_compare_func') );
|
||||
var_dump( array_diff_ukey($value, $array2, $array3, 'key_compare_func') );
|
||||
};
|
||||
|
||||
fclose($fp);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
--int 0--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int 1--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int 12345--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int -12345--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float 10.5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float -10.5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float 12.3456789000e10--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float -12.3456789000e10--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float .5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase NULL--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase null--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase true--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase false--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase TRUE--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase FALSE--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--empty string DQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--empty string SQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--string DQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--string SQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--mixed case string--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--heredoc--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--instance of classWithToString--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--instance of classWithoutToString--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--undefined var--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--unset var--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--resource--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #1 is not an array in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
40
ext/standard/tests/array/array_diff_ukey_variation10.phpt
Normal file
40
ext/standard/tests/array/array_diff_ukey_variation10.phpt
Normal file
@ -0,0 +1,40 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing non-existing function name to callback
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
//Initialize variables
|
||||
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
|
||||
$array2 = array("a" => "green", "yellow", "red");
|
||||
|
||||
//function name within double quotes
|
||||
var_dump( array_diff_ukey($array1, $array1, "unknown_function") );
|
||||
|
||||
//function name within single quotes
|
||||
var_dump( array_diff_ukey($array1, $array1, 'unknown_function') );
|
||||
|
||||
//function name without quotes
|
||||
var_dump( array_diff_ukey($array1, $array1, unknown_function) );
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, function 'unknown_function' not found or invalid function name in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, function 'unknown_function' not found or invalid function name in %s on line %d
|
||||
NULL
|
||||
|
||||
Notice: Use of undefined constant unknown_function - assumed 'unknown_function' in %s on line %d
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, function 'unknown_function' not found or invalid function name in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
322
ext/standard/tests/array/array_diff_ukey_variation2.phpt
Normal file
322
ext/standard/tests/array/array_diff_ukey_variation2.phpt
Normal file
@ -0,0 +1,322 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing unexpected values to second argument
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialize function arguments not being substituted (if any)
|
||||
$array1 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
|
||||
$array3 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
|
||||
|
||||
|
||||
//Initialize key_comp_func of type callback
|
||||
function key_compare_func($key1, $key2)
|
||||
{
|
||||
if ($key1 == $key2) {
|
||||
return 0;
|
||||
}
|
||||
return ($key1 > $key2)? 1:-1;
|
||||
}
|
||||
|
||||
//get an unset variable
|
||||
$unset_var = 10;
|
||||
unset ($unset_var);
|
||||
|
||||
//resource variable
|
||||
$fp = fopen(__FILE__, "r");
|
||||
|
||||
// define some classes
|
||||
class classWithToString
|
||||
{
|
||||
public function __toString() {
|
||||
return "Class A object";
|
||||
}
|
||||
}
|
||||
|
||||
class classWithoutToString
|
||||
{
|
||||
}
|
||||
|
||||
// heredoc string
|
||||
$heredoc = <<<EOT
|
||||
hello world
|
||||
EOT;
|
||||
|
||||
//array of values to iterate over
|
||||
$inputs = array(
|
||||
|
||||
// int data
|
||||
'int 0' => 0,
|
||||
'int 1' => 1,
|
||||
'int 12345' => 12345,
|
||||
'int -12345' => -2345,
|
||||
|
||||
// float data
|
||||
'float 10.5' => 10.5,
|
||||
'float -10.5' => -10.5,
|
||||
'float 12.3456789000e10' => 12.3456789000e10,
|
||||
'float -12.3456789000e10' => -12.3456789000e10,
|
||||
'float .5' => .5,
|
||||
|
||||
// null data
|
||||
'uppercase NULL' => NULL,
|
||||
'lowercase null' => null,
|
||||
|
||||
// boolean data
|
||||
'lowercase true' => true,
|
||||
'lowercase false' =>false,
|
||||
'uppercase TRUE' =>TRUE,
|
||||
'uppercase FALSE' =>FALSE,
|
||||
|
||||
// empty data
|
||||
'empty string DQ' => "",
|
||||
'empty string SQ' => '',
|
||||
|
||||
// string data
|
||||
'string DQ' => "string",
|
||||
'string SQ' => 'string',
|
||||
'mixed case string' => "sTrInG",
|
||||
'heredoc' => $heredoc,
|
||||
|
||||
// object data
|
||||
'instance of classWithToString' => new classWithToString(),
|
||||
'instance of classWithoutToString' => new classWithoutToString(),
|
||||
|
||||
// undefined data
|
||||
'undefined var' => @$undefined_var,
|
||||
|
||||
// unset data
|
||||
'unset var' => @$unset_var,
|
||||
|
||||
// resource data
|
||||
'resource' => $fp,
|
||||
|
||||
);
|
||||
|
||||
// loop through each element of the array for arr2
|
||||
|
||||
foreach($inputs as $key =>$value) {
|
||||
echo "\n--$key--\n";
|
||||
var_dump( array_diff_ukey($array1, $value, 'key_compare_func') );
|
||||
var_dump( array_diff_ukey($array1, $value, $array3, 'key_compare_func') );
|
||||
};
|
||||
|
||||
fclose($fp);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
--int 0--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int 1--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int 12345--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int -12345--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float 10.5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float -10.5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float 12.3456789000e10--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float -12.3456789000e10--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float .5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase NULL--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase null--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase true--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase false--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase TRUE--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase FALSE--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--empty string DQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--empty string SQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--string DQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--string SQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--mixed case string--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--heredoc--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--instance of classWithToString--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--instance of classWithoutToString--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--undefined var--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--unset var--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--resource--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey(): Argument #2 is not an array in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
240
ext/standard/tests/array/array_diff_ukey_variation3.phpt
Normal file
240
ext/standard/tests/array/array_diff_ukey_variation3.phpt
Normal file
@ -0,0 +1,240 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing unexpected values to third optional argument
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialise function arguments not being substituted (if any)
|
||||
$array1 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
|
||||
$array2 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
|
||||
|
||||
function key_compare_func($key1, $key2)
|
||||
{
|
||||
if ($key1 == $key2) {
|
||||
return 0;
|
||||
}
|
||||
return ($key1 > $key2)? 1:-1;
|
||||
}
|
||||
|
||||
//get an unset variable
|
||||
$unset_var = 10;
|
||||
unset ($unset_var);
|
||||
|
||||
// resource variable
|
||||
$fp = fopen(__FILE__, "r");
|
||||
|
||||
// define some classes
|
||||
class classWithToString
|
||||
{
|
||||
public function __toString() {
|
||||
return "Class A object";
|
||||
}
|
||||
}
|
||||
|
||||
class classWithoutToString
|
||||
{
|
||||
}
|
||||
|
||||
// heredoc string
|
||||
$heredoc = <<<EOT
|
||||
hello world
|
||||
EOT;
|
||||
|
||||
//array of values to iterate over
|
||||
$inputs = array(
|
||||
|
||||
// int data
|
||||
'int 0' => 0,
|
||||
'int 1' => 1,
|
||||
'int 12345' => 12345,
|
||||
'int -12345' => -2345,
|
||||
|
||||
// float data
|
||||
'float 10.5' => 10.5,
|
||||
'float -10.5' => -10.5,
|
||||
'float 12.3456789000e10' => 12.3456789000e10,
|
||||
'float -12.3456789000e10' => -12.3456789000e10,
|
||||
'float .5' => .5,
|
||||
|
||||
// null data
|
||||
'uppercase NULL' => NULL,
|
||||
'lowercase null' => null,
|
||||
|
||||
// boolean data
|
||||
'lowercase true' => true,
|
||||
'lowercase false' =>false,
|
||||
'uppercase TRUE' =>TRUE,
|
||||
'uppercase FALSE' =>FALSE,
|
||||
|
||||
// empty data
|
||||
'empty string DQ' => "",
|
||||
'empty string SQ' => '',
|
||||
|
||||
// string data
|
||||
'string DQ' => "string",
|
||||
'string SQ' => 'string',
|
||||
'mixed case string' => "sTrInG",
|
||||
'heredoc' => $heredoc,
|
||||
|
||||
// object data
|
||||
'instance of classWithToString' => new classWithToString(),
|
||||
'instance of classWithoutToString' => new classWithoutToString(),
|
||||
|
||||
// undefined data
|
||||
'undefined var' => @$undefined_var,
|
||||
|
||||
// unset data
|
||||
'unset var' => @$unset_var,
|
||||
|
||||
// resource data
|
||||
'resource' => $fp,
|
||||
);
|
||||
|
||||
// loop through each element of the array for key_comp_func
|
||||
|
||||
foreach($inputs as $key =>$value) {
|
||||
echo "\n--$key--\n";
|
||||
var_dump( array_diff_ukey($array1, $array2, $value, 'key_compare_func') );
|
||||
};
|
||||
|
||||
fclose($fp);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
--int 0--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int 1--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int 12345--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--int -12345--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float 10.5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float -10.5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float 12.3456789000e10--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float -12.3456789000e10--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--float .5--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase NULL--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase null--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase true--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase false--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase TRUE--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase FALSE--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--empty string DQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--empty string SQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--string DQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--string SQ--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--mixed case string--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--heredoc--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--instance of classWithToString--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--instance of classWithoutToString--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--undefined var--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--unset var--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
|
||||
--resource--
|
||||
|
||||
Warning: array_diff_ukey(): Argument #3 is not an array in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
254
ext/standard/tests/array/array_diff_ukey_variation4.phpt
Normal file
254
ext/standard/tests/array/array_diff_ukey_variation4.phpt
Normal file
@ -0,0 +1,254 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing unexpected values to callback argument
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialise function arguments not being substituted (if any)
|
||||
$array1 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
|
||||
$array2 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
|
||||
$array3 = array(1, 2, 3, 4, 5);
|
||||
|
||||
//get an unset variable
|
||||
$unset_var = 10;
|
||||
unset ($unset_var);
|
||||
|
||||
//resource variable
|
||||
$fp = fopen(__FILE__, "r");
|
||||
|
||||
// define some classes
|
||||
class classWithToString
|
||||
{
|
||||
public function __toString() {
|
||||
return "Class A object";
|
||||
}
|
||||
}
|
||||
|
||||
class classWithoutToString
|
||||
{
|
||||
}
|
||||
|
||||
// heredoc string
|
||||
$heredoc = <<<EOT
|
||||
hello world
|
||||
EOT;
|
||||
|
||||
//array of values to iterate over
|
||||
$inputs = array(
|
||||
|
||||
// int data
|
||||
'int 0' => 0,
|
||||
'int 1' => 1,
|
||||
'int 12345' => 12345,
|
||||
'int -12345' => -12345,
|
||||
|
||||
// float data
|
||||
'float 10.5' => 10.5,
|
||||
'float -10.5' => -10.5,
|
||||
'float 12.3456789000e10' => 12.3456789000e10,
|
||||
'float -12.3456789000e10' => -12.3456789000e10,
|
||||
'float .5' => .5,
|
||||
|
||||
// null data
|
||||
'uppercase NULL' => NULL,
|
||||
'lowercase null' => null,
|
||||
|
||||
// boolean data
|
||||
'lowercase true' => true,
|
||||
'lowercase false' =>false,
|
||||
'uppercase TRUE' =>TRUE,
|
||||
'uppercase FALSE' =>FALSE,
|
||||
|
||||
// object data
|
||||
'instance of classWithToString' => new classWithToString(),
|
||||
'instance of classWithoutToString' => new classWithoutToString(),
|
||||
|
||||
// undefined data
|
||||
'undefined var' => @$undefined_var,
|
||||
|
||||
// unset data
|
||||
'unset var' => @$unset_var,
|
||||
|
||||
// resource data
|
||||
'resource' => $fp,
|
||||
);
|
||||
|
||||
// loop through each element of the array for ...
|
||||
|
||||
foreach($inputs as $key =>$value) {
|
||||
echo "\n--$key--\n";
|
||||
var_dump( array_diff_ukey($array1, $array2, $value) );
|
||||
var_dump( array_diff_ukey($array1, $array2, $array3, $value) );
|
||||
};
|
||||
|
||||
fclose($fp);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
--int 0--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--int 1--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--int 12345--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--int -12345--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--float 10.5--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--float -10.5--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--float 12.3456789000e10--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--float -12.3456789000e10--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--float .5--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase NULL--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase null--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase true--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--lowercase false--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase TRUE--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--uppercase FALSE--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--instance of classWithToString--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--instance of classWithoutToString--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--undefined var--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--unset var--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
--resource--
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 3 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
|
||||
Warning: array_diff_ukey() expects parameter 4 to be a valid callback, no array or string given in %s on line %d
|
||||
NULL
|
||||
===DONE===
|
54
ext/standard/tests/array/array_diff_ukey_variation5.phpt
Normal file
54
ext/standard/tests/array/array_diff_ukey_variation5.phpt
Normal file
@ -0,0 +1,54 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing multi-dimensional array
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments. User supplied function is used for comparing the keys. This function is like array_udiff() but works on the keys instead of the values. The associativity is preserved.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialise function arguments not being substituted (if any)
|
||||
$array1 = array(
|
||||
|
||||
'first' => array('blue' => 1, 'red' => 2),
|
||||
|
||||
'second' => array('yellow' => 7),
|
||||
|
||||
'third' => array(0 => 'zero'),
|
||||
);
|
||||
|
||||
$array2 = array (
|
||||
|
||||
'first' => array('blue' => 1, 'red' => 2,),
|
||||
|
||||
'second' => array('cyan' => 8),
|
||||
|
||||
'fourth' => array(2 => 'two'),
|
||||
);
|
||||
|
||||
echo "\n-- Testing array_diff_ukey() function with multi dimensional array --\n";
|
||||
var_dump( array_diff_ukey($array1, $array2, 'strcasecmp') );
|
||||
var_dump( array_diff_ukey($array2, $array1, 'strcasecmp') );
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
-- Testing array_diff_ukey() function with multi dimensional array --
|
||||
array(1) {
|
||||
["third"]=>
|
||||
array(1) {
|
||||
[0]=>
|
||||
string(4) "zero"
|
||||
}
|
||||
}
|
||||
array(1) {
|
||||
["fourth"]=>
|
||||
array(1) {
|
||||
[2]=>
|
||||
string(3) "two"
|
||||
}
|
||||
}
|
||||
===DONE===
|
65
ext/standard/tests/array/array_diff_ukey_variation6.phpt
Normal file
65
ext/standard/tests/array/array_diff_ukey_variation6.phpt
Normal file
@ -0,0 +1,65 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing integer indexed array
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialise function arguments not being substituted (if any)
|
||||
$input_array = array(-07 => '-07', 0xA => '0xA');
|
||||
|
||||
$input_arrays = array(
|
||||
'decimal indexed' => array(10 => '10', '-17' => '-17'),
|
||||
'octal indexed' => array(-011 => '-011', 012 => '012'),
|
||||
'hexa indexed' => array(0x12 => '0x12', -0x7 => '-0x7', ),
|
||||
);
|
||||
|
||||
function key_compare_func($key1, $key2)
|
||||
{
|
||||
return strcasecmp($key1, $key2);
|
||||
}
|
||||
|
||||
foreach($input_arrays as $key =>$value) {
|
||||
echo "\n--$key--\n";
|
||||
var_dump( array_diff_ukey($value, $input_array, 'key_compare_func') );
|
||||
var_dump( array_diff_ukey($input_array, $value, 'key_compare_func') );
|
||||
}
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
--decimal indexed--
|
||||
array(1) {
|
||||
[-17]=>
|
||||
string(3) "-17"
|
||||
}
|
||||
array(1) {
|
||||
[-7]=>
|
||||
string(3) "-07"
|
||||
}
|
||||
|
||||
--octal indexed--
|
||||
array(1) {
|
||||
[-9]=>
|
||||
string(4) "-011"
|
||||
}
|
||||
array(1) {
|
||||
[-7]=>
|
||||
string(3) "-07"
|
||||
}
|
||||
|
||||
--hexa indexed--
|
||||
array(1) {
|
||||
[18]=>
|
||||
string(4) "0x12"
|
||||
}
|
||||
array(1) {
|
||||
[10]=>
|
||||
string(3) "0xA"
|
||||
}
|
||||
===DONE===
|
42
ext/standard/tests/array/array_diff_ukey_variation7.phpt
Normal file
42
ext/standard/tests/array/array_diff_ukey_variation7.phpt
Normal file
@ -0,0 +1,42 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing float indexed array
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialise function arguments not being substituted (if any)
|
||||
$input_array = array(0 => '0', 10 => '10', -10 => '-10', 20 =>'20');
|
||||
$float_indx_array = array(0.0 => '0.0', 10.5 => '10.5', -30.5 => '-30.5');
|
||||
|
||||
function key_compare_func($key1, $key2)
|
||||
{
|
||||
return strcasecmp($key1, $key2);
|
||||
}
|
||||
|
||||
echo "\n-- Testing array_diff_ukey() function with float indexed array --\n";
|
||||
|
||||
var_dump( array_diff_ukey($float_indx_array, $input_array, 'key_compare_func') );
|
||||
var_dump( array_diff_ukey($input_array, $float_indx_array, 'key_compare_func') );
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
-- Testing array_diff_ukey() function with float indexed array --
|
||||
array(1) {
|
||||
[-30]=>
|
||||
string(5) "-30.5"
|
||||
}
|
||||
array(2) {
|
||||
[-10]=>
|
||||
string(3) "-10"
|
||||
[20]=>
|
||||
string(2) "20"
|
||||
}
|
||||
===DONE===
|
42
ext/standard/tests/array/array_diff_ukey_variation8.phpt
Normal file
42
ext/standard/tests/array/array_diff_ukey_variation8.phpt
Normal file
@ -0,0 +1,42 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing boolean indexed array
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialise function arguments not being substituted (if any)
|
||||
$input_array = array(0 => '0', 1 => '1', -10 => '-10', 'true' => 1, 'false' => 0);
|
||||
$boolean_indx_array = array(true => 'boolt', false => 'boolf', TRUE => 'boolT', FALSE => 'boolF');
|
||||
|
||||
function key_compare_func($key1, $key2)
|
||||
{
|
||||
return strcasecmp($key1, $key2);
|
||||
}
|
||||
|
||||
echo "\n-- Testing array_diff_ukey() function with boolean indexed array --\n";
|
||||
|
||||
var_dump( array_diff_ukey($boolean_indx_array, $input_array, 'key_compare_func') );
|
||||
var_dump( array_diff_ukey($input_array, $boolean_indx_array, 'key_compare_func') );
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
-- Testing array_diff_ukey() function with boolean indexed array --
|
||||
array(0) {
|
||||
}
|
||||
array(3) {
|
||||
[-10]=>
|
||||
string(3) "-10"
|
||||
["true"]=>
|
||||
int(1)
|
||||
["false"]=>
|
||||
int(0)
|
||||
}
|
||||
===DONE===
|
59
ext/standard/tests/array/array_diff_ukey_variation9.phpt
Normal file
59
ext/standard/tests/array/array_diff_ukey_variation9.phpt
Normal file
@ -0,0 +1,59 @@
|
||||
--TEST--
|
||||
Test array_diff_ukey() function : usage variation - Passing null,unset and undefined variable indexed array
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : array array_diff_ukey(array arr1, array arr2 [, array ...], callback key_comp_func)
|
||||
* Description: Returns the entries of arr1 that have keys which are not present in any of the others arguments.
|
||||
* Source code: ext/standard/array.c
|
||||
*/
|
||||
|
||||
echo "*** Testing array_diff_ukey() : usage variation ***\n";
|
||||
|
||||
// Initialise function arguments not being substituted (if any)
|
||||
$input_array = array(10 => '10', "" => 'empty');
|
||||
|
||||
//get an unset variable
|
||||
$unset_var = 10;
|
||||
unset ($unset_var);
|
||||
|
||||
$input_arrays = array(
|
||||
'null indexed' => array(NULL => 'null 1', null => 'null 2'),
|
||||
'undefined indexed' => array(@$undefined_var => 'undefined'),
|
||||
'unset indexed' => array(@$unset_var => 'unset'),
|
||||
);
|
||||
|
||||
foreach($input_arrays as $key =>$value) {
|
||||
echo "\n--$key--\n";
|
||||
var_dump( array_diff_ukey($value, $input_array, 'strcasecmp') );
|
||||
var_dump( array_diff_ukey($input_array, $value, 'strcasecmp') );
|
||||
}
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing array_diff_ukey() : usage variation ***
|
||||
|
||||
--null indexed--
|
||||
array(0) {
|
||||
}
|
||||
array(1) {
|
||||
[10]=>
|
||||
string(2) "10"
|
||||
}
|
||||
|
||||
--undefined indexed--
|
||||
array(0) {
|
||||
}
|
||||
array(1) {
|
||||
[10]=>
|
||||
string(2) "10"
|
||||
}
|
||||
|
||||
--unset indexed--
|
||||
array(0) {
|
||||
}
|
||||
array(1) {
|
||||
[10]=>
|
||||
string(2) "10"
|
||||
}
|
||||
===DONE===
|
Loading…
Reference in New Issue
Block a user