Bug #12676 Updated: strpos() ignores first character in haystack
| From: | rasmus@php.net | Date: | Thu, 09 Aug 2001 19:29:15 +0000 |
| Subject: | Bug #12676 Updated: strpos() ignores first character in haystack | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-62731@lists.php.net to get a copy of this message | ||
ID: 12676
Updated by: rasmus
Reported By: aragon@phat.za.net
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] aragon@phat.za.net
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