字符串操作
explore 分割
使用一个字符串分割另一个字符串
<?php
$str = 'a,b,c,d';
$res = explode(',',$str);
var_dump($res);
implode(join)转换
将一个一维数组的值转化为字符串
<?php
$arr = ['a'=>1,'b'=>2];
$res = implode(',',$arr);
var_dump($res);
str_split 字符转数组
将字符串转换为数组
$str = 'hello';
$arr = str_split($str);
$arr1 = str_split($str,2);
var_dump($arr);
echo '<br>';
var_dump($arr1);
结果:
array(5) { [0]=> string(1) "h" [1]=> string(1) "e" [2]=> string(1) "l" [3]=> string(1) "l" [4]=> string(1) "o" }
array(3) { [0]=> string(2) "he" [1]=> string(2) "ll" [2]=> string(1) "o" }
htmlentities转html
将字符转换为 HTML 转义字符
<?php
$str = "<p>this -> "</p>\n";
echo htmlspecialchars_decode($str);
//<p>this -> "</p>
htmlspecialchars
将特殊字符转换为 HTML 实体
转换大小写
lcfirst 第一个小写
使一个字符串的第一个字符小写
ucfirst 第一个大写
使一个字符串的第一个字符大写
strtolower 转小写
将字符串转化为小写
strtoupper 转大写
将字符串转化为大写
ucwords 单词首字母转大写
将字符串中的每个单词的首字母转换为大写
ltrim/rtrim/trim 删空白
删除字符串左边的空白字符(或其他字符)
<?php
$str = ' a';
$nstr = ltrim($str);
echo $nstr;
<?php
$str = 'abc';
$nstr = ltrim($str,'a');
echo $nstr;//返回去除后的结果
parse_str 解析成多个变量
将字符串解析成多个变量
$str = "first=value&arr[]=foo+bar&arr[]=baz";
// 推荐用法
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
str_replace 替换
字符串替换
$str = '12311';
$res = str_replace('1','3',$str);
var_dump($res);
- substr-replace()用来把字符串的一部分替换为另一个字符串。
- 这个方法严格来说是剪切,类似于js的splice(),根据下标插入和删除元素
| 参数 | 描述 |
|---|---|
| 参数一 | 必需。规定要检查的字符串。 |
| 参数二 | 必需。规定要插入的字符串。 |
| 参数三 | 必需。规定在字符串的何处开始删除。 |
| 参数四 | 可选。规定要删除多少个字符。默认是与字符串长度相同(即默认删除所有原字符串)。 |
<?php
$str = "good day";
echo $str;
echo "<br>";
echo substr_replace($str,'bad',0,4);
?>
字符串查找
substr 截取字符串
参数:
substr()函数允许三个参数,其中两个是强制的,一个是可选的。
返回类型:
如果成功则返回提取的字符串部分;如果失败,返回FALSE或空字符串。
<?php
echo mb_substr('我们都是好孩子hehe',0,9);
//如果第三个参数不写,就从0开始截取到最后
?>
输出:我们都
strstr(strchr) 首次出现
查找字符串首次出现
<?php
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com
返回此字符包括此字符的字符串
$user = strstr($email, '@', true); // 从 PHP 5.3.0 起
echo $user; // 打印 name
返回此字符之前的字符串
strpos 查找下标
查找字符串首次出现的位置
返回值ini
$findstr = 'a';
$str = 'bca';
$res = strpos($str,$findstr);
var_dump($res);
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 0); // 这个0是偏移量,也就是第一次出现的位置,1就是第二次出现的位置
var_dump($pos);
stripos 查询首次出现位置
不区分大小写的查找字符串首次出现的位置,见strpost
例如
stripos(string,find,start)
stripos()函数返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。字符串位置从 0 开始,不是从 1 开始。
| 参数 | 描述 |
|---|---|
| string | 必需。规定被搜索的字符串。 |
| find | 必需。规定要查找的字符。 |
| start | 可选。规定开始搜索的位置。 |
<?php
$a="I love php,I love php too!";
$c=stripos($a,"PHP");
echo $c;
?>
strrpos 查找最后出来的位置
返回某个字符最后一次出现的位置, 如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值。
定义和用法
strrpos() 函数查找字符串在另一个字符串中最后一次出现的位置。
如果成功,则返回位置,否则返回 false。
语法
strrpos(string,find,start)
| 参数 | 描述 |
|---|---|
| string | 必需。规定被搜索的字符串。 |
| find | 必需。规定要查找的字符。 |
| start | 可选。规定开始搜索的位置。 |
示例
<?php
$str = 'sailrancho@qq.com';
echo strstr($str,'qq.'); // 返回 qq.com
echo "\n";
echo strrchr($str, 'ch'); // 返回 com 注意返回不是cho@qq.com
echo "\n";
echo strpos($str, 'c'); //返回 7
echo "\n";
echo strrpos($str, 'c'); // 返回14
strlen 取字符串长度
获取字符串长度
查找是否包含字符串
返回布尔型
function trues():bool{
$a=str_contains('今朝有酒今朝醉','今s');
return $a;
}
str_pad 填充
字符串填充
不加参数是空格填充
<?php
$str = 'abc';
echo str_pad($str,5);
结果:
'abc '
指定参数填充
<?php
$str = 'abc';
echo str_pad($str,10,"+");
结果:
abc+++++++
str_repeat 重复一个字符串
重复一个字符串
<?php
echo str_repeat("-", 10);
?>
strrev 反转字符串
反转字符串
substr_count() 出现次数
计算字串出现的次数
<?php
$text = 'This is a test';
echo substr_count($text, 'is'); // 2
\