--TEST-- Test array_diff() function : usage variations - array with different data types as values --FILE-- array(), /*2*/ "int" => array( // int data 0, 1, 12345, -2345), /*3*/ "float" => array( // float data 10.5, -10.5, 12.3456789000e10, 12.3456789000E-10, .5), /*4*/ "null" => array( // null data NULL, null), /*5*/ "boolean" => array( // boolean data true, false, TRUE, FALSE), /*6*/ "empty" => array( // empty data "", ''), /*7*/ "string" => array( // string data "string", 'string', $heredoc), /*8*/ "binary" => array( // binary data b"binary", (binary)"binary"), /*9*/ "undefined" => array( // undefined data @$undefined_var), /*10*/ "unset" => array( // unset data @$unset_var) ); // loop through each element of the array for $arr2 $iterator = 1; foreach($values as $value) { echo "\n Iteration: $iterator \n"; var_dump( array_diff($array, $value) ); $iterator++; }; echo "Done"; ?> --EXPECT-- *** 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