那些年我们一起用过的 PHP 函数

用这个帖子记录一下 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 }-----------------------------------------------------输出结果:存在

  

相关文章