简单$str = "Hypertext Preprocessor";
for($i=0;1!=2;$i++){
if($str[$i] == null)
break;
}$strlength = $i-1;unset($i);for($i=0,$j=$strlength;$i<$j;$i++,$j--){
$temp = $str[$i];
$str[$i] = $str[$j];
$str[$j] = $temp;
}echo $str;

解决方案 »

  1.   

    汗``一个``我们PHP程序员的思维已经给PHP限制住了
    象这样的东西以前学CPP的时候写过N个,但是现在一直想不出
      

  2.   

    不知那个unset($i)算不算用了函数^_^,如果算的话,大不了我不释放它了。讲解下思路:
    在php下,已知$str = "Hypertext Preprocessor",可以写成
    $str[0] = "H"
    $str[1] = "y"
    ...在c/c++下,当str[i] == '\0'的时候就认为字符串到了结尾,在php下,要判断$str[$i] == null或者""。这一点我实在不理解,难道php的字符串不是以\0结尾的?等待唠叨老大出来指教.循环这个数组,当$str[$i] == null的时候,退出循环,那么这个字符串的长度就是$i-1。
    知道了长度,问题就完全解决了。下面我就不解释了,实现字符串的反转,这个地球人都知道,学c的时候,这种算法用了多少便了。
      

  3.   

    写成函数:function str_to_reverse( $str ){
      for($length=0;$str[$length]!=null;$length++){;}
    $strlength = $length-1;
    unset($length);

    for($start=0,$end=$strlength;$start<$end;$start++,$end--){
    $temp = $str[$start];
    $str[$start] = $str[$end];
    $str[$end] = $temp;
    }
    unset($temp,$start,$end,$strlength);
    return $str;
    }$str = "Hypertext Preprocessor";
    echo str_to_reverse($str);c库里面那些字符串操作函数都是直接进行的移位操作,比这样的效率高多了。
      

  4.   

    还好是美国公司,要是中国公司,再加个utf-8,看你怎么翻转汉字~~~
      

  5.   

    还好是美国公司,要是中国公司,再加个utf-8,看你怎么翻转汉字~~~
    -----------------------这个就要用到位了吧。
      

  6.   

    再加个utf-8,翻转汉字------------真的晕哦~
      

  7.   

    $s = 'strlen,substr,count';
    $o = '';
    $i = 0;
    while($s[$i] != null) {
      $o = $s[$i++].$o;
    }
    echo $o;
      

  8.   

    Notice: Uninitialized string offset:  19 in D:\LAMP\web\ipy\test.php on line 5
      

  9.   

    <?php
    $s = 'strlen,substr,count';
    $o = '';
    $i = 0;
    while(isset($s[$i]) && $s[$i] != null) {
    $o = $s[$i++].$o;
    }
    echo $o;
    ?>
      

  10.   


    手写反转函数基本东西,c,cpp里学过N次。
    MVC确是最近一直想学的,不知用什么资料好。