標籤:style java color strong os width
發現一個php用來判斷一個字串是否包子串的返回值與方法 strpos相當的怪異.
看下面的語句:
echo "A1: ".(strpos("csd","c"))."<br>"; //0
echo "A2: ".(strpos("csd","c")>=0)."<br>"; //1
echo "B1: ".(strpos("csd","h",0))."<br>"; //
echo "B2: ".(strpos("csd","h",0)>=0)."<br>"; //1
//期望值是源串"abc"包含子串"a", 此處結果與期望值相同
if(strpos("abc","a")>=0)
{
echo "a in abc"."<br>"; //a in abc
}
else
{
echo "a not in abc"."<br>";
}
//期望值是源串"abc"並不包含子串"u", 此處結果與期望值相反
if(strpos("abc","u")>=0)
{
echo "u in abc"."<br>"; //u in abc
}
else
{
echo "u not in abc"."<br>";
}
//期望值是源串"a"比子串"abc"小,並且源串"a"並不包含子串"abc", 此處結果與期望值相反
if(strpos("a","abc")>=0)
{
echo "abc in a"."<br>"; //abc in a
}
else
{
echo "abc not in a"."<br>";
}
//期望值是源串"u"比子串"abc"小,並且源串"u"並不包含子串"abc", 此處結果與期望值相反
if(strpos("u","abc")>=0)
{
echo "abc in u"."<br>"; //abc in u
}
else
{
echo "abc not in u"."<br>";
}
//顯示的結果
A1: 0
A2: 1
B1:
B2: 1
a in abc
u in abc
abc in a
abc in u
定義和用法
strpos() 函數返回字串在另一個字串中第一次出現的位置。
如果沒有找到該字串,則返回 false。
文法
strpos(string,find,start)
參數 |
描述 |
string |
必需。規定被搜尋的字串。 |
find |
必需。規定要尋找的字元。 |
start |
可選。規定開始搜尋的位置。 |
PHP的這種判斷方法與 C#, JAVA的很不一樣.
php裡是把源串不包子串,源串小於子串當做空值返回.
經過條件陳述式,if(strpos("abc","u")>=0) 和 if(strpos("u","abc")>=0), 值又為真了.
我覺得這種形式非常的怪異,初學者和從其它語言(JAVA,C#)轉過來學習php的人應該會感到很困惑..
請教,在這裡,比如我要判斷 字串"abc" 裡包含 "a", 用哪個方法比較好呢?