#26232 [Ver->Bgs]: in_array produces true when bool true is in haystack

From: Date: Fri, 14 Nov 2003 00:34:22 +0000
Subject: #26232 [Ver->Bgs]: in_array produces true when bool true is in haystack
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-50361@lists.php.net to get a copy of this message
ID: 26232 Updated by: iliaa@php.net Reported By: me at my dot house -Status: Verified +Status: Bogus Bug Type: Arrays related Operating System: * PHP Version: 4.3.2, 5b2 New Comment: Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php This is to be expected. Jay's explanation clearly identifies the fault in the PHP script. In this situation you should specify the 3rd parameter to in_array(), which would make comparison strict. Previous Comments: ------------------------------------------------------------------------ [2003-11-13 10:55:42] jay@php.net Isn't this sort of expected? "x" should be converted to a boolean and compared to true, and obviously true == true. J ------------------------------------------------------------------------ [2003-11-13 03:27:55] helly@php.net marcus@zaphod /usr/src/php5 $ php -r 'var_dump(in_array("x",array(1,2,3,false)));' bool(false) marcus@zaphod /usr/src/php5 $ php -r 'var_dump(in_array("x",array(1,2,3,true)));' bool(true) ------------------------------------------------------------------------ [2003-11-12 22:11:00] me at my dot house Description: ------------ If the haystack contains the boolean true, in_array returns true!! Check this (PHP 4.2.3-8 debian package) : Reproduce code: --------------- <?php $r=array("fzsgsdgsd","reazrazr","rezarzearzae",true); $ret=in_array("tsuser_id",$r); print $ret; } ?> Expected result: ---------------- false Actual result: -------------- true ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26232&edit=1

« previous php.bugs (#50361) next »