用这个帖子记录一下 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 }
-----------------------------------------------------
输出结果:
存在
原文:https://www.cnblogs.com/leeyongbard/p/10217106.html