序号 |
函数 |
说明 |
1 |
implode |
将一个一维数组的值转化为字符串 |
2 |
join |
别名 implode |
3 |
explode |
使用一个字符串分割另一个字符串 |
5 |
substr |
返回字符串的子串 |
6 |
substr_count |
计算字串出现的次数 |
7 |
substr_replace |
替换字符串的子串 |
8 |
str_split |
将字符串转换为数组 |
9 |
str_getcsv |
解析 CSV 字符串为一个数组 |
<?php
// implode将一个一维数组的值转化为字符串
$arr = ['ss','ss','dd'];
echo '<br>'.'转换前';
print_r($arr);
// 输出Array ( [0] => ss [1] => ss [2] => dd )
echo '<br>'.'转换后';
echo implode($arr);
// 输出 ssssdd
// explode 使用一个字符串分割另一个字符串
$str = '民主,富强,和谐,文明,自主';
echo $str ; //输出 民主,富强,和谐,文明,自主
// 分割
//第一个参数为分割标志符 上面用逗号分割 这个输入逗号
// explode('',$str);
// 输出
print_r(explode(',',$str));
// 注意 不要用中文符号,要用英文,否则分割失败
// 输出 Array ( [0] => 民主 [1] => 富强 [2] => 和谐 [3] => 文明 [4] => 自主 )
备注演示代码
<?php
// 分割查询与替换函数: 第一部分
// substr($string, $start, $length): 返回字符串的子串
// echo substr('abcdef', 0), '<br>';
// echo substr('abcdef', 2), '<br>';
// echo substr('abcdef', 2, 2), '<br>';
// 参数支持负数
// echo substr('abcdef', -1, 1), '<br>';
// echo substr('abcdef', -1), '<br>';
// echo substr('abcdef', -3), '<br>';
// echo substr('abcdef', -3, 2), '<br>';
// echo '<hr>';
// substr_count($str, $needel, $start, $length): 统考某个子串的出现的频率/次数
// 统计 'is' 的出现的频率
// echo substr_count('This is a test', 'is'), '<br>';
// echo substr_count('This is a test', 'is', 3), '<br>';
// echo substr_count('This is a test', 'is', 3, 3), '<br>';
echo '<hr>';
// substr_replace($str, $replace, $start, $length): 替换字符串中的子串
// echo substr_replace('html, css,js,java', 'php', 0), '<br>';
// echo substr_replace('html, css,js,java', 'php, ', 0, 0), '<br>';
// echo substr_replace('html, css,js,java', 'php, ', -4), '<br>';
// echo substr_replace('html, css,js,java', '', 6, 4), '<br>';
// $res = substr_replace(['id:101', 'id:203', 'id:908'], '0', 3, 3);
// // print_r($res);
// echo implode('; ', $res), '<br>';
// $res = substr_replace(['id:101', 'id:203', 'id:908'], ['a', 'b', 'c'], 3);
// echo implode('; ', $res), '<br>';
// $res = substr_replace(['id:101', 'id:203', 'id:908'], ['a', 'b', 'c'], 3, [1,2,3]);
// echo implode('; ', $res),'<br>';
// echo '<hr>';
// str_split(): 将字符串转为数组, 可以指定每个数组元素的宽度
// $res = print_r(str_split('php.cn'), true);
// $res = print_r(str_split('php.cn', 3), true);
// printf('<pre>%s</pre>', $res);
// echo '<hr>';
// str_getcsv($str):操作csv文件
// str_getcsv('csv格式的字符串')
$res =print_r(str_getcsv('2, peter, peter@php.cn'),true);
printf('<pre>%s</pre>', $res);
$csvStr = file_get_contents('test2.csv');
print_r($csvStr);
$csvArr = explode("\n", $csvStr);
$res =print_r($csvArr, true);
printf('<pre>%s</pre>', $res);
// str_pad(): 将字符串填充到指定长度
echo str_pad('php', 10, '=', STR_PAD_RIGHT), '<br>';
echo str_pad('php', 10, '=', STR_PAD_LEFT), '<br>';
echo str_pad('ph', 10, '=', STR_PAD_BOTH), '<br>';
echo '<hr>';
// echo str_repeat('-*-|', 10);
// str_replace($search, $replaced, $subject, $int): 字符串替换
$class = 'app\home\Index.php';
// 将类名的命名空间分隔符\, 替换成路径分隔符
echo str_replace('\\', DIRECTORY_SEPARATOR, $class), '<br>';
echo str_replace('php', '*', 'php.cn, php, thinkphp', $count), '<br>';
echo 'php 被替换了 : ' .$count . '<br>';
// 也支持数组参数实现批量替换
$search = ['交友', '广告', '直播', '带货'];
$replace =['***', '===', '###', '+++'];
$comment = '广告代理, 直播教学, 免费带货, 异性交友';
echo str_replace($search, '###', $comment), '<br>';
echo str_replace($search,$replace, $comment), '<br>';
echo '<hr>';