php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #1398 wrong return value
Submitted: 1999-05-11 05:51 UTC Modified: 1999-05-11 07:55 UTC
From: thomas at intermezzo dot de Assigned:
Status: Closed Package: Misbehaving function
PHP Version: 3.0.5 OS: Linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: thomas at intermezzo dot de
New email:
PHP Version: OS:

 

 [1999-05-11 05:51 UTC] thomas at intermezzo dot de
$browser = "Mozilla";
if ( strpos($value, "Mozilla/") == 0)
{ ..... }

$browser = "Lynx";
if ( strpos($value, "Mozilla/") == 0)
{ ..... }


The function returns 0 , once because Mozilla is the first Character and secondly because Mozilla doesn't appear in "Lynx"


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [1999-05-11 07:55 UTC] sas at cvs dot php dot net
Your comparison is not correct. See http://www.php.net/manual/html/function.strpos.html

In short, strpos returns false, if the needle is not found. If you compare false with an integer, it is promoted to 0 and as such the expression in the if(...) construct is true.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Tue Jul 15 01:01:35 2025 UTC