ID: 12676
Updated by: rasmus
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Bogus
Bug Type: Scripting Engine problem
Operating System: FreeBSD 4.3
PHP Version: 4.0.6
New Comment:

Please read the documentation: http://php.net/strpos
Nothing is ignored, you are checking the returned value incorrectly.  strpos()
returns false when it doesn't find something and the position starting at 0 when it 
does find a match.

Previous Comments:
------------------------------------------------------------------------

[2001-08-09 15:22:19] [EMAIL PROTECTED]

When performing a string search with strpos() on a string variable the function 
totally ignores the first character. For example:

$astring = "abc defg hij kl";

if (strpos($astring, "abc")) {
  echo("found\n");
} else {
  echo("not found\n");
}


When running the above script "not found" is echoed instead when, in fact, "found" 
should be echoed. Here's my ./configure from phpinfo():

./configure' '--with-config-file-path=/usr/local/etc/php.standalone' '--disable-pear' 
'--enable-versioning' '--with-system-regex' '--disable-debug' '--enable-track-vars' 
'--without-gd' '--without-mysql' '--with-zlib' '--with-mysql=/usr/local' 
'--enable-ftp' '--with-curl=/usr/local' '--enable-sockets' '--prefix=/usr/local' 
'i386--freebsd4.3'

A possible workaround would be:


$astring = "abc defg hij kl";
$astring = " " . $astring;

if (strpos($astring, "abc")) {
  echo("found\n");
} else {
  echo("not found\n");
}

The above code echoes "found".


Regards,
Aragon Gouveia


------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=12676&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to