#21055 [Opn->Bgs]: array_search skips element 0
ID: 21055
Updated by: moriyoshi@php.net
Reported By: trees@ieeecs.ece.utexas.edu
-Status: Open
+Status: Bogus
Bug Type: Arrays related
Operating System: Linux RH 7.3
PHP Version: 4.3.0RC3
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
array_search() returns "0" when it finds a match at the first element.
Use array_search(...) !== false instead.
Previous Comments:
------------------------------------------------------------------------
[2002-12-16 16:44:41] trees@ieeecs.ece.utexas.edu
print( "Ignoring $cur[0]", "/tmp/pushing");
should be
print( "Ignoring $cur[0]" );
storeOutput is my method for sending output debugging to files.
------------------------------------------------------------------------
[2002-12-16 16:42:53] trees@ieeecs.ece.utexas.edu
(My system info at bottom)
Problem:
The following piece of code doesn't work as advertised:
while ( $cur = mysql_fetch_row( $result ))
if ( ! array_search( $cur[0], $userIDs ))
{
print("Pushing $cur[0]");
array_push( $userIDs, $cur[0] );
}
else
print( "Ignoring $cur[0]", "/tmp/pushing");
My Solution:
I wrote my own little search method (ignoring Big-Oh consisderations
since I don't know PHP low-level types)
function my_array_search( $findMe, $inMe ){
{
foreach ( $inMe as $key )
if ( $key == $findMe )
return true;
return false;
}
Relevant system info from phpinfo();
Linux myHostName 2.4.18-18.7.xsmp #1 SMP Wed Nov 13 19:01:42 EST 2002
i686
'./configure' '--with-mysql' '--enable-calendar'
'--with-apxs=/usr/sbin/apxs' '--with-bz2' '--with-curl'
'--enable-track-vars' '--enable-trans-sid'
'--with-imap=/usr/local/lib'
'--with-imap-ssl=/lib' '--enable-debug'
Cheers.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=21055&edit=1
Thread (3 messages)