那些年我们一起用过的 PHP 函数
Posted 流光瞬息
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了那些年我们一起用过的 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 } ----------------------------------------------------- 输出结果: 存在
以上是关于那些年我们一起用过的 PHP 函数的主要内容,如果未能解决你的问题,请参考以下文章