PHP 把字符串倒转
$len = strlen($str);
for ($i=$len;$i>=0;$i--){
          echo $str[$i];
    }
}
echo str("abcdefghijk");
 


很多时候我们需要倒转显示一个数组的内容。比如处理来自用户申请的友情链接库文本:通常,我们用append(追加)方式在服务器上记录用户申请的条目,它总是接在原有文本的后面,而我们想让新申请的显示在最前面,此种情况,从文本库中得到的数组行就需要倒转显示了。

如果仅仅是简单的倒转,那是一件很轻松的事情:用for语句从大到小一一显示出数组内容即可。下面的例子我们不处理打开文本库事件,我们直接假设已经有了一个数组$str_arr:

for($i=count($str_arr)-1;$i>=0;$i--){
    print $str_arr[$i]."<br />";
}

这里,我们用count内置函数得到数组的元素总量,从“总量-1”到“0”这样的排序方式一一打印(print)出数组各元素的具体内容,达到了倒转显示数组内容的目的。

然而,当要处理的数组很大,即内容很多,我们就需要给程序加入其他功能,譬如需要分页显示友情链接,这种情形,以上方式就不一定适用,或者,虽然可用但因需要格外的计算而致使程序很复杂。或许这样的解决思路并非只是权宜之计,它至少可算得上是快捷方便的解决方法:新建立一个数组,令其倒序装载原有数组的内容然后显示出来——

//倒转数组
for($i=count($str_arr)-1;$i>=0;$i--){
   $showstr_arr[]=$str_arr[$i];
}
//分页显示等处理工作
for($i=0;$i<count($showstr_arr);$i++){
   //这里处理分页显示等事件
}

非常简单,我们只用了两个for语句,第一个for语句把数组$str_arr按倒序方式状装载到新数组 $show_str 中;第二个 for 语句按常规处理显示内容,具体的分页代码需要另外编写。

单纯地倒转一个数组应该还有其他的方法,不过我觉得,以上这种方式简单实用,不妨一试。