What Is the Best Way to Test the strpos() Return Value

Q

What Is the Best Way to Test the strpos() Return Value? - PHP Script Tips - PHP Built-in Functions for Strings

✍: FYIcenter.com

A

Because strpos() could two types of values, Integer and Boolean, you need to be careful about testing the return value. The best way is to use the "Identical(===)" operator. Do not use the "Equal(==)" operator, because it does not differentiate "0" and "false". Check out this PHP script on how to use strpos():

<?php
$haystack = "needle234953413434516504381640386488129";
$pos = strpos($haystack, "needle");
if ($pos==false) {
  print("Not found based (==) test\n");
} else {
  print("Found based (==) test\n");
}
if ($pos===false) {
  print("Not found based (===) test\n");
} else {
  print("Found based (===) test\n");
}
?>

This script will print:

Not found based (==) test
Found based (===) test

Of course, (===) test is correct.

2007-04-21, 5037👍, 0💬