批改状态:合格
老师批语:implode,explode 这两个配合使用,可以实现很多功能哦!
示例如下:
<?php$str = 'friends';// 1.单引号中的变量不能解析echo 'we are $str','<br>';// 2.可使用字符串拼接的方式echo 'we are '.$str,'<br>';// 3.特殊字符也不能解析echo 'we are \n\t'.$str,'<br>';// 4.单引号中又出现单引号,需要转义echo 'we are \'good\' '.$str,'<br>';// 5.在单引号中直接使用双引号echo 'we are "good" '.$str,'<hr>';

示例如下:
<?php$str = 'Hello';// 1.双引号中的变量可以解析echo "$str World",'<br>';// 2.变量标示符(花括号)echo "$strbig World",'<br>';echo "{$str}big World",'<br>';// 3.双引号可以解析特殊字符echo "{$str}\nWorld\n\n123\\";// 在源代码中可查看到效果


示例如下:
<?php// 相当于双引号的加强版$str = 'eat meat';// 1.设置字符串中文本样式echo "<span style=\"color:red\">$str</span>",'<br>';//必须使用转义符// 2. 通过heredoc的方式,其中AAA可以省略双引号,很适合混编使用echo <<<AAA<span style="color:red;">$str</span>AAA,'<hr>';

示例如下:
<?php// 相当于单引号的加强版,其中BBB必须加上单引号,适合用在大量字符串输出时echo 'look at the computer','<br>';echo <<<'BBB'look at the computerBBB;

注:字符串大小上限:2G
示例如下:
<?php// 1. printf():将输出的字符串按照指定的格式模板输出,语法:printf('模板',将模板中的占位符替换)printf('watch %s','TV');echo '<br>';printf('money %d',100);echo '<br>';// 示例:写一条查询语句// printf('SELECT * FROM 表名称 LIMIT 数量','...','...')printf('SELECT * FROM %s LIMIT %d','form',15);echo '<br>';// 2.vprintf(),功能与printf()一样,只是参数不一样vprintf('SELECT * FROM %s LIMIT %d',['form',15]);// 3.sprintf(),不会输出,只返回格式化字符串// 示例:将一条语句写入一个文件$par = sprintf('SELECT * FROM %s LIMIT %d','form',20);file_put_contents('temp.txt',$par);// 4.vsprintf(),也是功能与sprintf()一样,只是参数不一样$par1 = vsprintf('SELECT * FROM %s LIMIT %d',['form',30]);file_put_contents('temp1.txt',$par1);


implode():将数组拼接为字符串,示例如下:
<?php$arr = ['first','second','third','fourth','fifth'];echo implode('-',$arr),'<br>';// 同名函数join,效果一样echo join('|',$arr),'<hr>';

explode():将字符串转为数组,示例如下:
<?php$site = 'www.baidu.com';echo '<pre>'.print_r(explode('.',$site),true).'</pre>','<br>';// 数组元素为2echo '<pre>'.print_r(explode('.',$site,2),true).'</pre>','<br>';// 删除最后一个元素echo '<pre>'.print_r(explode('.',$site,-1),true).'</pre>','<br>';

list():将一个索引数组中的元素一次赋值给一些独立变量,示例如下:
<?phplist( $a, $b, $c) = ['dog','cat','fish'];echo "I have animals:$a and $b and $c",'<hr>';

substr():返回字符串的一部分,语法:substr(string,start,length),示例如下:
<?php$str = 'hello world';echo substr($str,4),'<br>';echo substr($str,3,6),'<br>';echo substr($str,-2),'<hr>';

str_split():将字符串分割到数组中,可指定数组元素的宽度,语法:str_split(string,length),示例如下:
<?php$str = '我想睡觉了啊';echo '<pre>'.print_r(str_split($str,3),true).'</pre>';echo '<pre>'.print_r(str_split($str,6),true).'</pre>';

str_getcsv():解析 CSV 格式字段的字符串,并返回一个包含所读取字段的数组,示例如下:
<?php$str = file_get_contents('test.csv');$arr = explode(",",$str);var_dump($arr);

str_pad():填充字符串,语法:str_pad(string,length,pad_string,pad_type),如果长度小于原始字符串长度,则不进行任何操作,示例如下:
<?php$str = 'hello';echo str_pad($str,10,'.'),'<br>';echo str_pad($str,20,'.',STR_PAD_BOTH),'<hr>';

str_repeat:把字符串重复,示例如下:
<?phpecho str_repeat('A',10);

str_replace():字符串替换,语法:str_replace(find,replace,string,count),count可以计算被替换了几次,示例如下:
<?php$str = 'abc,abc,abc,abc';echo str_replace('a','y',$str,$count),'<br>';echo "替换了{$count}次<hr>";// 示例:禁用违禁词$forbidden = ['性感','小蜜','约会'];echo str_replace($forbidden,'**','性感天使,小蜜甜甜,约会饮酒'),'<br>';// 通过数组可以个性化替换echo str_replace($forbidden,['***','+++','###'],'性感天使,小蜜甜甜,约会饮酒'),'<br>';

trim():移除字符串两侧的空白字符或其他预定义字符,示例如下;
<?php$str = " \n\n\nhello world\n\n ";//查看源代码echo $str,'<br>';echo trim($str),'<br>';// 去除world中的ldecho trim('world','ld'),'<br>';// 去除字符串中的数字echo trim('123abcde456','1..9'),'<br>';

strpos():查找字符串在另一字符串中首次出现的位置,从0开始查找,示例如下:
<?php$str = 'we are good friends';echo 'e第一次出现的位置:'.strpos($str,'e'),'<br>';// 从指定位置开始查找echo '从索引为2开始查找e:'.strpos($str,'e',2);

strstr():搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,示例如下:
<?php$str = 'I have to go';echo strstr($str,'to'),'<br>';// 传入第二个参数true,表示返回字符串的前面部分echo strstr($str,'to',true),'<br>';echo '<hr>';// 示例:获取邮箱后半部分,并去掉@符号$email = 'username123@qq.com';echo ltrim(strstr($email,'@'),'@'),'<br>';// 拿到前半部分echo strstr($email,'@',true),'<br>';

学习了创建字符串的四种方式:单引号、双引号、heredoc、nowdoc
学习了一些常用字符串函数,用于字符串填充、重复、替换、删除、查找、切割,其他还有很多老师没有讲到的函数,自己看手册。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号