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

[乐意黎原创] 怪异的php 语法, 求解!相关推荐

  1. [乐意黎原创] JS根据useAgent来判断edge, ie, firefox, chrome, opera, safari 等浏览器的类型及版本

    JS根据浏览器的useAgent来判断浏览器的类型. userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值. javascript语法:navigator.us ...

  2. [乐意黎原创] 删除QQ的MiniBrowser浏览器,QQ聊天会话中点击链接直接用默认浏览器中打开

    [乐意黎原创] 删除QQ自带的MiniBrowser浏览器,使从聊天会话中点击链接直接打开默认浏览器中打开 如题,不知从什么版本开始,乐-意-黎无意中发现,点击QQ聊天会计中的链接时,不会在默认浏览器 ...

  3. [乐意黎原创]PHP启用session后抛 session_start(): open(/var/lib/php/session/sess_... 的解决办法

    如题,PHP启用SESSION后抛 Warning: session_start(): open(/var/lib/php/session_user/sess_d5gn9q7q9qii26ajk2c8 ...

  4. [乐意黎原创] 2014年全国和云南省中级会计师成绩、分数段、过关率及年龄段统计分析

    2014年全国会计资格考试报名人数达214万人,比2013年度增长3.88%. 其中: 初级资格为137.1万人,比去年增长了1.89%: 中级资格为72.4万人,比去年增长了7.27%: 高级资格为 ...

  5. [乐意黎原创] 优盘硬盘等标称的16G, 32G, 64G, 128G, 256G内存容量,实际有多大?

    不时有朋友问乐意黎,说买的手机内存, 优盘, 硬盘什么的存在虚标, 跟他们解释了半天,是换算的问题.结果他们还是不太懂. 没办法,哎, 有必要进行一次科普了. 本文地址:http://blog.csd ...

  6. [乐意黎原创] 红米1刷MIUI 6 系统

    本人[乐意黎]于2014年1月左右买的红米1. 至今使用己有快一年三个月的时间,由于安装的程序和东西太多,总感觉原有的MIUI 5用起来太卡.体验过别人的小米NOTEbook手机上的MIUI 6 系统 ...

  7. [乐意黎原创] 时间格式 yyyy-MM-dd‘T‘HH:mm:ss.SSSZ 中的T和Z表示什么

    1. 事情起因: 本人这久在关注一个地方域名( ***.ren,由于某些因素,此处用 *** 来代表域名), 因域名已经过期,有打算抢注的意愿,就等域名注册机构删除后我来抢注册了. ( ***.ren ...

  8. [乐意黎原创]Nginx里带参数的rewrite详解

    1. 如下所示,带 www.daza.ren/view-detail-weixin-9999.html 和 www.daza.ren/view-detail-weixin-9999.html?65 在 ...

  9. [乐意黎原创]关于IE,Firefox, Chrome等浏览器被t999.cn网页和2345浏览器流氓操作劫持的修复方法

    浏览器被t999.cn网页和2345浏览器,变为默认主页,无法取消,更改. 昨晚 帮某某使用了网上下载 KMS激活工具,想把office激活一下,安装并操作完成之后,打开了word没有再提示说要激活了 ...

最新文章

  1. 160个Crackme016
  2. c++ 计算正弦的近似值_数值计算笔记1·基本知识
  3. 机器人鸣人是哪一集_火影忍者:四个机器人,机器丁次,机械鸣人,你见过哪个...
  4. TensorFlow 官方文档中文版
  5. 【python】python中的定义类属性和对像属性
  6. C语言试题十二之m个人的成绩存放在score数组中,请编写函数function,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指定的数组中。
  7. 信息学奥赛一本通C++语言——1126:矩阵转置
  8. java在循环中删除数组元素,在循环Perl中删除数组中的元素
  9. LGOJP1941 飞扬的小鸟
  10. MAYA安装包+安装教程
  11. adb 驱动安装说明文档
  12. 时间序列分解 | Python实现奇异谱分析(SSA)分解时间序列
  13. 用join实现交集,并集,差集,补集的效果
  14. 读书笔记 高效能人士的执行4原则
  15. geoserver给天地图添加服务,给线加标注
  16. Linux_Linux 修改hostname 且不重启也能生效
  17. 我的世界手机版开服务器领地系统,我的世界手机版领地指令大全 领地指令怎么用...
  18. codevs 3729 飞扬的小鸟
  19. SASS的概念和使用
  20. ActiviteMQ 对于Consumers pending的限制问题

热门文章

  1. PHPExcel 读取文件内容
  2. 数据治理从理论到实战系列(一)——简要概述
  3. Android Q Labs| 通用系统映像介绍
  4. 信息安全体系建设☞通过防火墙实现内部网络的微隔离
  5. (转)要想35岁以前成功 必备9大好习惯
  6. db2时间差换成月_DB2 时间计算差
  7. Java高级特性之增强for循环
  8. sqlsugar 链接mysql_使用SqlSugar结合MySql开发
  9. 私はついにあなたを失った作者婷雨
  10. java之IO流(2)