php下使用strpos需要注意 === 運算符
更新時間:2010年07月17日 23:54:42 作者:
首先應該知道 strpos 函數可能返回布爾值 FALSE,但也可能返回一個與 FALSE 等值的非布爾值,例如 0 或者""。我們應使用 === 運算符來測試本函數的返回值。
復制代碼 代碼如下:
<?php
/*
判斷字符串是否存在的函數
*/
function strexists($haystack, $needle) {
return !(strpos($haystack, $needle) === FALSE);//注意這里的"==="
}
/*
Test
*/
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
// 簡單的使用 "==" 號是不會起作用的,需要使用 "===",因為 a 第一次出現的位置為 0
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
// We can search for the character, ignoring anything before the offset
// 在搜索字符的時候可以使用參數 offset 來指定偏移量
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>
相關文章
深入eAccelerator與memcached的區(qū)別詳解
本篇文章是對eAccelerator與memcached的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06