工作中,我们需要灵活的运用php的一些语法,今天通过倒序的打印一串字符的一个小实验,让我们了解数组Array与字符串之间的转换,字符串的截取,读取字符串长度的函数:
1.假如你要转换的字符串为 I AM CHEN XU YUAN ,首先,将该字符串赋给一个变量$str,可以通过$str_len查看该字符串长度
$str="I AM CHEN XU YUAN "; //echo $str_len=strlen($str);
2.然后可以通过substr()函数来截取你想要转换的字符串部分
// $str=substr($str,0,$str_len);
3.通过explode()函数将字符串打印成数组,具体传参用法参考手册,注意第一个参数为空的话必须要有个空格!可用var_dump()打印出来
$str_arr=explode(' ',$str); //var_dump($str_ar);
4.将数组翻转顺序,用一个新数组接收,array_reverse()是翻转数组顺序的函数:
$str_str_new=array_reverse($str_arr);
5.然后再将数组转为字符串,与explode函数相反,数组转字符串的函数是implode()
$str_last=implode(" ",$str_str_new);
6.现在字符串被翻转了顺序,可用echo输出:
echo '转换前: '.$str."<br>".'转换后:'. $str_last ."<hr>";
输出效果:
这样是将字符串分割为数组,数组调转顺序再组成字符串,同纯粹的字符串顺序翻转不一样--每个‘单词’内拼音的顺序是不变的。
当然,直接用strrev()函数可以接将字符串调转顺序:
$str="I am CHEN XU YUAN"; $str_new=strrev($str); echo $str_new;
输出的是 NAUY UX NEHC MA I 除此外还有许多方法如for循环 等 ,如下:
$str="IM CHEN XU YUAN "; function reverse_i($str){ for ($i = 1; $i <= strlen($str); $i++){ echo substr($str, -$i, 1); } return; } echo reverse_i($str);
不过for循环处理数字比较好,这样处理字符串不如直接用strrev()函数 ,此篇主要探讨字符串的倒序处理