用这个帖子记录一下 PHP 中比较常用的函数以及使用过程中需要注意的点,此贴持续更新
1.strpos() 函数
首先,我们知道 strpos() 函数是用于查找一个字符串在另一个字符串第一次出现的位置,示例如下:
<?php ?2 ??3 echo strpos("I love php, I love php too!", "php");-----------------------------------------------------------输出结果:7
表示 "php" 这个字符串在 "I love php, I love php too!" 这个字符串中第一次出现的位置是 7
下面我们修改一下所要查找的字符串,如下:
<?php ?2 ??3 if(strpos("I love php, I love php too!", "I")) { ?4 ???echo "存在"; ?5 }else{ ?6 ???echo "不存在"; ?7 }------------------------------------------------------输出结果:不存在
输出结果是不存在,是因为字符串 "I" 在 "I love php, I love php too!" 字符串中第一次出现的位置是 0,所以,如果
使用 strpos() 函数判断字符串中是否存在某个字符时必须使用 "=== false" 或 "!== false",示例如下:
<?php ?2 ??3 if(strpos("I love php, I love php too!", "I") === false) { ?4 ???echo "不存在"; ?5 }else{ ?6 ???echo "存在"; ?7 }-------------------------------------------------------------------输出结果:存在
但是 "=== false" 或 "!=== false" 并不是全部,这里还有一个坑需要填,示例如下:
<?php ?2 ??3 if(strpos("I like php 1", 1) === false) { ?4 ???echo "不存在"; ?5 }else{ ?6 ???echo "存在"; ?7 }-------------------------------------------------输出结果:不存在
输出结果是"不存在",但是我们看到明明是存在的,这和我们的预期不一致,再仔细看一下我们发现 1 不是一个字符串,
strpos() 函数的第二个参数必须是一个字符串,如果我们不确定第二个参数的类型,我们可以使用 strval() 函数把它转换成字符串类型,
示例如下:
<?php ?2 ??3 $str = "I like php 1"; ?4 $search = 1; ?5 ??6 if(strpos($str, strval($search)) === false) { ?7 ???echo "不存在"; ?8 }else{ ?9 ???echo "存在"; 10 }-----------------------------------------------------输出结果:存在
那些年我们一起用过的 PHP 函数
原文地址:https://www.cnblogs.com/leeyongbard/p/10217106.html