+ -
当前位置:首页 → 问答吧 → 面试题一:反转字符串

面试题一:反转字符串

时间:2010-10-09

来源:互联网

<?php
$a = "shut fuck up 123 23 2";
$b = explode(' ',$a);
krsort ($b); //倒序取
$c = implode(' ',$b);
echo $c;
?>


作者: fly0222   发布时间: 2010-10-09

作者: ahlijunjie   发布时间: 2010-10-09

    

作者: ahlijunjie   发布时间: 2010-10-09

要是没有空格 你怎么去处理

作者: 抢街饭   发布时间: 2010-10-09

引用
引用第3楼抢街饭于2010-10-09 15:22发表的  :
要是没有空格 你怎么去处理


没有空格 就谈不上反转了 没有空格反过来的话就更简单了 直接倒序出来   应该是只用一个内置函数 就可以

作者: fly0222   发布时间: 2010-10-09


$a = "shut fuck up 123 23 2";
$num = strlen($a);
for ($i = ($num - 1); $i >= 0; $i--) {
    $str .= substr($a, $i, 1);
}
echo $str;

作者: zf6806537   发布时间: 2010-10-09

引用
引用第5楼zf6806537于2010-10-09 16:14发表的  :

$a = "shut fuck up 123 23 2";
$num = strlen($a);
for ($i = ($num - 1); $i >= 0; $i--) {
    $str .= substr($a, $i, 1);
.......


也可以 不过这样取出来的单词也都是倒序的了  而且中文的话就不行了

"2 32 321 pu kcuf tuhs" 

作者: fly0222   发布时间: 2010-10-09

花几分钟写了一个楼主可以看看
复制代码
  1. <?php
  2. //思路:把字符串打散,数组倒叙即可,支持中文编码
  3. $str = <<<EOD
  4. abcdefghijklmn nihao php100 呵呵 竟然实体化了html引号 只有用定界符咯
  5. EOD;
  6. print_r(new_strrev($str));
  7. function new_strrev($str)
  8. {
  9.  $arr = array();
  10.  $arr = string2array($str);
  11.  krsort($arr);
  12.  $str = array2string($arr);
  13.  return $str;
  14.  
  15. }
  16. function string2array($str)
  17. {
  18.  $arr = array();
  19.  $length = strlen($str);
  20.  for($i = 0; $i <$length; $i++)
  21.  {
  22.   $ascii = ord(substr($str, $i, 1));
  23.   if($ascii>= 224)
  24.   {
  25.    $arr[] = substr($str, $i, 3); 
  26.    $i+=2;
  27.   }
  28.   else if($ascii>= 192)
  29.   {
  30.    $arr[] = substr($str, $i, 2);
  31.    $i++;
  32.   }
  33.   else
  34.   {
  35.    $arr[] = substr($str, $i, 1);
  36.   }
  37.  }
  38.  unset($length);
  39.  return $arr;
  40. }
  41. function array2string($arr)
  42. {
  43.  $tmp = null;
  44.  if(!is_array($arr) || empty($arr))
  45.  {
  46.   return false;
  47.  }
  48.  foreach($arr as $val)
  49.  {
  50.   $tmp .= $val;
  51.  }
  52.  unset($arr);
  53.  return $tmp;
  54. }
  55. ?>


作者: amiaoagou   发布时间: 2010-10-09