自建的电子网站如何做推广,展会设计公司简介,松岗网站设计,软文外链代发一 字符串包含
1.1 str_starts_with(string $haystack, string $needle)
php8版本中新函数。
检查字符串是否以指定子串开头#xff0c;区分大小写。返回布尔值。
$haystack待判断的字符串#xff0c;$needle需要查询的内容。
function test1() {$str Qwe asd zx…一 字符串包含
1.1 str_starts_with(string $haystack, string $needle)
php8版本中新函数。
检查字符串是否以指定子串开头区分大小写。返回布尔值。
$haystack待判断的字符串$needle需要查询的内容。
function test1() {$str Qwe asd zxc 123;if (str_starts_with($str, )) {echo __LINE__ . PHP_EOL; //5}if (str_starts_with($str, Qwe)) {echo __LINE__ . PHP_EOL; //8}if (str_starts_with($str, qwe)) {echo __LINE__ . PHP_EOL; //11}
}
test1(); 测试结果
5
8
1.2 str_ends_with(string $haystack, string $needle)
php8版本中新函数。
检查字符串是否以指定子串结尾。返回布尔值。区分大小写。
$haystack待判断的字符串$needle需要查询的内容。
function test3() {$str Qwe asd zxc 123 z;var_dump(str_ends_with($str, Z));var_dump(str_ends_with($str, z));var_dump(str_ends_with($str, q));var_dump(str_ends_with($str, 123));
}
test3(); 测试结果
bool(false)
bool(true)
bool(false)
bool(false)
1.3 strstr(string $haystack, string $needle, bool $before_needle false)
查找字符串的首次出现。返回字符串或布尔值。区分大小写。
1.4 stristr(string $haystack, string $needle, bool $before_needle false)
strstr()函数的忽略大小写版本。
function test4() {$str Qwe asd zxc 123 z;var_dump(strstr($str, Qwe));var_dump(strstr($str, we));var_dump(strstr($str, we, true));var_dump(strstr($str, q));var_dump(stristr($str, q));
}
test4(); 测试结果
string(17) Qwe asd zxc 123 z
string(16) we asd zxc 123 z
string(1) Q
bool(false)
string(17) Qwe asd zxc 123 z
1.5 strpos(string $haystack, string $needle, int $offset 0)
查找字符串首次出现的位置。计算从零开始也就是返回1代表字符串中第二个位置偏移到字符串第二个字符偏移量是2。区分大小写。返回整数或者布尔值。
第一个字符返回值为0应该使用0$value判断。不存在返回false,应该使用false$value判断。
$offset 为偏移量。
1.6 stripos(string $haystack, string $needle, int $offset 0)
strpos()函数的忽略大小写版本。
function test5() {$str Qwe asd zxc 123 we;var_dump(strpos($str, Qwe));var_dump(strpos($str, we));var_dump(strpos($str, we, 2));var_dump(strpos($str, q));var_dump(stripos($str, WE));
}
test5(); 测试结果
int(0)
int(1)
int(16)
bool(false)
int(1)
1.7 strpbrk(string $string, string $characters)
在字符串中查找一组字符的任何一个字符。
返回以找到的字符开始的子字符串。如果没有找到则返回 false。
$string 在string中查找characters字符串。
$characters 要查询的内容。区分大小写。
function test7() {$str Qwe asd zxc 123 we;$info strpbrk($str, a);var_dump($info);$info strpbrk($str, A);var_dump($info);
}
test7(); 测试结果
string(14) asd zxc 123 we
bool(false)
1.8 preg_match()
执行匹配正则表达式。匹配到返回1未匹配到返回0或者false。
参数
$pattern 正则表达式$subject 需验证的字符串。 避免使用substr()。$matches 匹配结果$flags 偏移量$offset 开始搜索位置
$flags说明
PREG_OFFSET_CAPTURE 附加偏移量PREG_UNMATCHED_AS_NULL 使用该标记未匹配的子组会报告为 null未使用时报告为空的 string。
function test8() {$str Qwe asd zxc 123 we;$pattern /(?d).*(?w)/;$result preg_match($pattern, $str, $info, PREG_OFFSET_CAPTURE);var_dump($result);var_dump($info);$result preg_match($pattern, $str, $info, PREG_OFFSET_CAPTURE, 8);var_dump($result);var_dump($info);
}
test8(); 测试结果
int(1)
array(1) {[0]array(2) {[0]string(9) zxc 123 [1]int(7)}
}
int(0)
array(0) {
}
1.9 str_word_count(string $string, int $format 0, ?string $characters null)
返回字符串中单词的使用情况。返回数组或整数
如果指定了 format 参数返回值将是一个数组数组的内容则取决于 format 参数。
$format
0 返回单词数量1 返回一个包含 string 中全部单词的数组2 返回关联数组。数组的键是单词在 string 中出现的数值位置数组的值是这个单词
$characters 附加的字符串列表其中的字符将被视为单词的一部分。
function test9() {$str Qwe asd zxc 123 we;$info str_word_count($str);var_dump($info);$info str_word_count($str, 1);var_dump($info);$info str_word_count($str, 0, 123456^ ^);var_dump($info);$info str_word_count($str, 1, 123456^ ^);var_dump($info);$info str_word_count($str, 2, 123456^ ^);var_dump($info);
}
test9();
测试结果
int(4)
array(4) {[0]string(3) Qwe[1]string(3) asd[2]string(3) zxc[3]string(2) we
}
int(1)
array(1) {[0]string(18) Qwe asd zxc 123 we
}
array(1) {[0]string(18) Qwe asd zxc 123 we
} 被操作的字符串中数字会被过滤掉除非在$characters中添加数字或需最为单词的字符。
没发现$format 设置为1或2中区别。
二 字符串分割
2.1 explode(string $separator, string $string, int $limit PHP_INT_MAX)
使用一个字符串分割另一个字符串。
$separator 分隔符
$string 字符串
$limit 限制数量。
正数返回从0开始的指定长度内容最后一个值为字符串剩余部分。负数返回从末尾开始倒数的内容直到数组开始和substr长度的设置一个原理。 传0视为1返回包含整个字符串的数组。默认为内置常量PHP_INT_MAX,最大整数。无对应内容返回包含整个字符串的数组。
function test6() {$str Qwe asd zxc 123 we;$arr2 explode(W, $str);var_dump($arr2);$arr3 explode( , $str, -2);var_dump($arr3);$arr1 explode( , $str, 0);var_dump($arr1);$arr4 explode( , $str, 1);var_dump($arr4);$arr5 explode( , $str, 2);var_dump($arr5);
}
test6(); 测试结果
array(1) {[0]string(18) Qwe asd zxc 123 we
}
array(3) {[0]string(3) Qwe[1]string(3) asd[2]string(3) zxc
}
array(1) {[0]string(18) Qwe asd zxc 123 we
}
array(1) {[0]string(18) Qwe asd zxc 123 we
}
array(2) {[0]string(3) Qwe[1]string(14) asd zxc 123 we
}
2.2 substr(string $string, int $offset, ?int $length null)
返回字符串字串。字符串长度小于偏移量返回空字符串。
$offset 偏移量。
为正数从0开始计算。为负从尾开始计算倒数指定的偏移量开始计算指定长度。
$length 指定长度。
为正数从 offset 处开始最多包括 length 个字符。最多返回到字符串结尾即length大于字符串长度返回到字符串结尾的长度。为0返回空字符串为null返回整个字符串为负那么 string 末尾处的 length 个字符将会被省略。若 offset 是负数则从字符串尾部算起。如果 offset 不在这段文本中那么将返回空字符串。
function test10() {$str Qwe asd zxc 123 we;$info substr($str, 2);var_dump($info);$info substr($str, 2, 2);var_dump($info);$info substr($str, 2, 20);var_dump($info);$info substr($str, -10, 2);var_dump($info);$info substr($str, -10, 20);var_dump($info);$info substr($str, 0);var_dump($info);
}
test10();
测试结果
string(16) e asd zxc 123 we
string(2) e
string(16) e asd zxc 123 we
string(2) zx
string(10) zxc 123 we
string(18) Qwe asd zxc 123 we
2.3 substr_count(string $haystack,string $needle,int $offset 0,?int $length null)
计算字串出现的次数。该函数返回 int。
在$haystack中查找$needle字符串。
$offset 偏移量。开始计数的偏移位置。如果是负数就从字符的末尾开始统计。
$length 指定偏移位置之后的最大搜索长度。如果偏移量加上这个长度的和大于 haystack 的总长度则打印警告信息。 负数的长度 length 是从 haystack 的末尾开始统计的。
function test11() {$str Qwe asd zxc 123 we;try{$info substr_count($str, , 5, 5);var_dump($info);} catch (\Throwable $e) {var_dump($e-getTraceAsString());}try{$info substr_count($str, , 5, 100);var_dump($info);} catch (\Throwable $e) {var_dump($e-getTraceAsString());}try{$info substr_count($str, , -5, 5);var_dump($info);} catch (\Throwable $e) {var_dump($e-getTraceAsString());}try{$info substr_count($str, , -5, 100);var_dump($info);} catch (\Throwable $e) {var_dump($e-getTraceAsString());}
}
test11();
测试结果
int(1)
string(117) #0 D:\workspace\php\test\test12.php(130): substr_count()
#1 D:\workspace\php\test\test12.php(150): test11()
#2 {main}
int(1)
string(117) #0 D:\workspace\php\test\test12.php(144): substr_count()
#1 D:\workspace\php\test\test12.php(150): test11()
#2 {main}
我本地php8版本cache(\Exception $e){} 捕获不到异常……