怪异的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"."
";
}
51shop 由 PHP 语言开发, 使用快速的 MySQL 数据库保存数据 ,为中小型网站实现网上电子商务提供一个完美的解决方案.一、用户模块1. 用户注册:用户信息包括:用户ID、用户名、用户密码、性别、邮箱、省份、城市、 联系电话等信息,用户注册后不能立即使用,需由管理员激活账号,才可使用(此功能管理员可设置)2. 登录功能3. 资料修改:用户可修改除账号以后的所有资料4. 忘记密码:要求用
0
立即学习“PHP免费学习笔记(深入)”;
//期望值是源串"abc"并不包含子串"u", 此处结果与期望值相反
if(strpos("abc","u")>=0)
{
echo "u in abc"."
"; //u in abc
}
else
{
echo "u not in abc"."
";
}
立即学习“PHP免费学习笔记(深入)”;
//期望值是源串"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"."
";
}
立即学习“PHP免费学习笔记(深入)”;
//显示的结果
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免费学习笔记(深入)”;
PHP的这种判断方法与 C#, JAVA的很不一样.
php里是把源串不包子串,源串小于子串当做空值返回.
经过条件语句,if(strpos("abc","u")>=0) 和 if(strpos("u","abc")>=0), 值又为真了.
我觉得这种形式非常的怪异,初学者和从其它语言(JAVA,C#)转过来学习php的人应该会感到很困惑..
请教,在这里,比如我要判断 字符串"abc" 里包含 "a", 用哪个方法比较好呢?
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号