PHP面试题之字符串反转

要求,如下:

首先做了一个提交表单页面,form.PHP
【PHP面试题之字符串反转】 代码如下:

[html]view plain copy

  1. header('content-type:text/html; charset=utf8 ');
  2. ?>



当然,这个页面不重要,你也可以不做,直接在另一个文件中直接写死一个值;
然后,创建一个接收,并加工的页面 fanzhuan.php
代码如下:

[html]view plain copy
  1. header('content-type:text/html; charset=utf8 ');
  2. /*
  3. 字符串1:Swift NSLayoutConstraint
  4. 字符串2:Tfiws TNIartsnOctuoyalsn
  5. 按上边字符串1转换到字符串2 的规律,编写一个字符串处理函数。
  6. */
  7. $str1=isset($_POST['str'])?$_POST['str']:"";
  8. $len=strlen($str1);
  9. $str_xiao=strtolower($str1); //全部转化为小写
  10. //函数 作用
  11. //array_map(); 数组函数:将回调函数作用到给定数组的单元上
  12. //explode(); 字符串函数:使用一个字符串(或符号)分割另一个字符串 成为一个数组
  13. //implode(); 数组函数:使用一个字符串(或符号)将一个数组连接为一个字符串
  14. //strrev(); 字符串函数:将一个给定的字符串实现反转
  15. $str2=implode(' ',array_map('strrev',explode(' ',$str_xiao)));
  16. //在这里应用了四个函数
  17. //1.应用explode函数通过字符串的空格 实现把字符串转换为数组
  18. //2.应用array_map函数 将数组的内容 实现反转
  19. //3.应用implode函数 将反转后的数组 重新连接为字符串
  20. for ($i=0; $i < $len; $i++) {
  21. checkcase($str1[$i])?$str2[$i]=strtoupper($str2[$i]):$str2[$i]=strtolower($str2[$i]);
  22. //解释:三目运算符
  23. //在for循环中 调用下方的自定义函数 来判断每一个字母的大小写
  24. //true 则使用strtoupper将该字母变成大写
  25. //false 则使用strtolower将该字母变小写
  26. }
  27. function checkcase($aa){
  28. if(preg_match('/^[A-Z]+$/', $aa))//通过正则判断大小写
  29. {
  30. return true;
  31. }else{
  32. return false;
  33. }
  34. }
  35. echo $str2; //最后输出
  36. ?>

这样就完成了!其实并不难,只要多思考,都是一些基础的函数应用


    推荐阅读