怪异php 语法, 求解!

时间:2023-03-09 14:50:51
怪异php 语法, 求解!

查找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", 它由寮屋方法?