php字符串操作

298 阅读1分钟

字符串操作

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 -&gt; &quot;</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

\