Edit report at https://bugs.php.net/bug.php?id=61540&edit=1
ID: 61540 Comment by: reeze dot xia at gmail dot com Reported by: pfraszczak at power dot com dot pl Summary: array_diff has problem when in second array is entry with null value Status: Open Type: Bug Package: Arrays related Operating System: ubuntu PHP Version: 5.3.10 Block user comment: N Private report: N New Comment: Hi pfraszczak: This is NOT a bug. because "" == NULL => TRUE. if we change the test script to : $a = array('street'=>'not-null-equal-value','number'=>'n1'); $b = array('street'=>'b1','number'=>'n1','test'=>null); var_dump(array_diff($a,$b)); you will get the right result. Previous Comments: ------------------------------------------------------------------------ [2012-03-28 10:27:18] pfraszczak at power dot com dot pl Changed package ------------------------------------------------------------------------ [2012-03-28 10:23:25] pfraszczak at power dot com dot pl Description: ------------ I notice that array_diff return empty array when in second array we have entry with null value. When i removed entry with test key - everything works fine. Moreover it seems that null values in $a array don't brake array_diff Test script: --------------- $a = array('street'=>'','number'=>'n1'); $b = array('street'=>'b1','number'=>'n1','test'=>null); var_dump(array_diff($a,$b)); Expected result: ---------------- array(1) { ["street"]=> string(0) "" } Actual result: -------------- array(0) { } ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=61540&edit=1