PHP中的strpos() 与 字符串截取substr()详解

zxh5566  2016-09-01 20:08   Hits: 

想知道一个字符串中是否包含另一个字符串,例如想看一个email地址是否包含一个@可以使用strpos()函数,如下

<?php
if($strpos($_POST['email'],'@') === false){
echo '邮件地址中没有@字符';
}

strpos()的返回值是子串在字符串中出现的第一个位置,如果字符串中没有该字符,将返回false,如果子串位于这个字符串

的起始位置,strpos()将返回0,因为位置0表示字符串的开始位置,为了区别返回值0和false,必须使用恒等于或非恒等于

操作符,而不能使用==或!=。

如果希望截取某个字符串的一部分,可以使用substr()函数

$substring = substr($string,$start,$length);
$username = substr($_GET['username'],0,8);

如果$start和$length都是正数,substr()会返回字符串中从$start开始的$length个字符,字符串中的第一个字符位置为0

echo substr('watch out for that tree',6,5); //输出out f

如果忽略$length,substr()会返回从$start到字符串末尾的部分。

echo substr('watch out for that tree',17);//输出t tree

如果$start大于字符串的长度,则返回false;

如果$start和$length超过了字符串的末尾,substr()会返回从$start到字符串末尾的部分。

如果$start为负数,substr()会从字符串末尾倒数来确定截取起始点

echo substr('watch out for that tree',-6);输出t tree

如果$start为负数,而且超过了字符串的起始位置,substr()会把$start当做0来处理

如果$length为负数,substr()会从字符串末尾倒数来确定子串到哪里结束。

echo substr('watch out for that tree',15,-2); 输出hat tr 截取字符串包含起始位置字符,不包含结束位置字符

上一篇:PHP接口技术介绍
下一篇:PHP字符串替换函数substr_replace()详解