怪异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", 它由寮屋方法?
怪异php 语法, 求解!的更多相关文章
- c++给数组赋值
c++的基础不牢啊.甚至是c语言也忘记了..所以以后遇到感觉怪异的语法都保存下来,没事翻翻看看 例一 void getSize(int n[]) //把数组名传给函数的形参时候 一维数组[]不用指定大 ...
- 【ASP.NET MVC 5】第27章 Web API与单页应用程序
注:<精通ASP.NET MVC 3框架>受到了出版社和广大读者的充分肯定,这让本人深感欣慰.目前该书的第4版不日即将出版,现在又已开始第5版的翻译,这里先贴出该书的最后一章译稿,仅供大家 ...
- 构建移动Web应用程序的技术堆栈
编写web应用程序时,有很多的技术决策.笔者最近回来编写现代Web应用程序,并希望总结一些曾经在开发周期过程中做了记录零散的想法.这篇文章是关于一套对笔者最近开发的项目有帮助的框架.笔者重温了一些最重 ...
- [译]GotW #4 Class Mechanics
你对写一个类的细节有多在行?这条款不仅注重公然的错误,更多的是一种专业的风格.了解这些原则将会帮助你设计易于使用和易于管理的类. JG Question 1. 什么使得接口“容易正确使用,错误使用却很 ...
- C++的MFC,与C#的.NET
转载:http://blog.sina.com.cn/s/blog_7f5bde5c0101hk5n.html 以下摘自各问答网站.博客论坛: [1]MFC早已过时,现在C++多数是用来编写底层方法而 ...
- Java语言与JVM中的Lambda表达式全解
Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍了Lamdba的设计初衷,应用场景与基本语法. ...
- js 中实现sleep函数
除了Narrative JS,jwacs(Javascript With Advanced Continuation Support)也致力于通过扩展JavaScript语法来避免编写让人头痛的异步调 ...
- vue.js基础知识篇(1):简介、数据绑定
目录第一章:vue.js是什么? 第二章:数据绑定第三章:指令第四章:计算属性第五章:表单控件绑定代码链接: http://pan.baidu.com/s/1qXCfzRI 密码: 5j79 第一章: ...
- 探索Java语言与JVM中的Lambda表达式
Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍了Lamdba的设计初衷,应用场景与基本语法.( ...
随机推荐
- 用golang写的 分解x86 intel boot/recovery工具
源代码地址: https://github.com/sndnvaps/pack-unpack-intel
- 20140719中国互联网公司市值排名TOP20
近期在找工作.关注了一下中国互联网公司的市值,实际情况跟想象的区别非常大. 比方异军突起的小米.京东.唯品会.聚美优品. 比方乐视网由于政策原因,市值两日缩水10亿$.停牌了. 搜房网市值90天蒸发3 ...
- CodeForces 10C. Digital Root
乞讨A.B.C ∈[1.N] && A*B != C,d(A*B) == d(C)组的数量. 首先要知道d(x) = (x%9 == 0 ? 9 : x%9); 那么则会有A*B == ...
- 模板引擎mustache.js
Javascript模板引擎mustache.js详解 阅读目录 1. 从一个简单真实的需求讲起 2. mustache的用法 3. mustache的思想 4. {{prop}}标签 5. {{ ...
- Android -- Looper.prepare()和Looper.loop() —深度版
Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理.handler事实上能够看做是一个工具类.用来向消息队列中插入消息的. (1) Loop ...
- Apache+Tomcat部署负载均衡(或集群)
本来只打算写Tomcat集群部署,简化Apache和Tomcat整合过程的.后来想了想,这样不便于没有用过Apache的朋友来学习本文内容.于是干脆加大篇幅,让对Apache不了解的朋友能对Apach ...
- V微软S2015下载:开展Win10/Linux/iOS多平台软件
微软VS2015下载:开展Win10/Linux/iOS多平台软件 资源:IT之家作者:子非 责任编辑:子非 11月13日消息,微软刚刚宣布了 Visual Studio 2015 ...
- MongoDB最新版本3.2.9下载地址
https://downloads.mongodb.com/win32/mongodb-win32-x86_64-enterprise-windows-64-3.2.9.zip?_ga=1.22538 ...
- ssh远程登录报错REMOTE HOST IDENTIFICATION HAS CHANGED!解决方式及原因
注意,文档中的ip和指纹已经替换为了ip.ip.ip.ip 和aa:... ,以免引起不必要的误会. icode@test:~/lab/dir/sadf$ ssh remote_name@ip.ip. ...
- C语言easy忽视的细节(第四部分)
前言:本文的目的是记录C这些语言easy忽视的细节.我会每天花一点时间来阅读整理,坚持下去,今天是第一章.也许今天是下个月的第二,明年,今天是第几?--我坚信,,记性不如烂笔头.第四篇了.fight~ ...