Java怪异语法_怪异的php 语法, 求解!

发现一个php用来判断一个字符串是否包子串的返回值与方法 strpos相当的怪异.

看下面的语句:

echo "A1: ".(strpos("csd","c"))."
";   //0

echo "A2: ".(strpos("csd","c")>=0)."
"; //1

echo "B1: ".(strpos("csd","h",0))."
"; //

echo "B2: ".(strpos("csd","h",0)>=0)."
"; //1

//期望值是源串"abc"包含子串"a", 此处结果与期望值相同

if(strpos("abc","a")>=0)

{

echo "a in abc"."
"; //a in abc

}

else

{

echo "a not in abc"."
";

}

//期望值是源串"abc"并不包含子串"u", 此处结果与期望值相反

if(strpos("abc","u")>=0)

{echo "u in abc"."
"; //u in abc}

else

{

echo "u not in abc"."
";

}

//期望值是源串"a"比子串"abc"小,并且源串"a"并不包含子串"abc", 此处结果与期望值相反

if(strpos("a","abc")>=0)

{

echo "abc in a"."
"; //abc in a

}

else

{

echo "abc not in a"."
";

}

//期望值是源串"u"比子串"abc"小,并且源串"u"并不包含子串"abc", 此处结果与期望值相反

if(strpos("u","abc")>=0)

{

echo "abc in u"."
"; //abc in u

}

else

{

echo "abc not in u"."
";

}

//显示的结果

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", 用哪个方法比较好呢?

原文:http://blog.csdn.net/aerchi/article/details/37933265

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值