字符串反转 转换大小写的三种方法
Posted 画个圈圈爱上你
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串反转 转换大小写的三种方法相关的知识,希望对你有一定的参考价值。
三种解决方法:
1;
首先做了一个提交表单页面,form.PHP
代码如下:
- <?php
- header('content-type:text/html;charset=utf8 ');
- ?>
- <center>
- <form action="fanzhuan.php" method="post">
- <input type="text" name="str">
- <br>
- <br>
- <br>
- <input type="submit" value="提交">
- </form>
- </center>
然后,创建一个接收,并加工的页面 fanzhuan.php
代码如下:
[html] view plain copy- <?php
- header('content-type:text/html;charset=utf8 ');
- /*
- 字符串1:Swift NSLayoutConstraint
- 字符串2:Tfiws TNIartsnOctuoyalsn
- 按上边字符串1转换到字符串2 的规律,编写一个字符串处理函数。
- */
- $str1=isset($_POST['str'])?$_POST['str']:"";
- $len=strlen($str1);
- $str_xiao=strtolower($str1);//全部转化为小写
- //函数 作用
- //array_map(); 数组函数:将回调函数作用到给定数组的单元上
- //explode(); 字符串函数:使用一个字符串(或符号)分割另一个字符串 成为一个数组
- //implode(); 数组函数:使用一个字符串(或符号)将一个数组连接为一个字符串
- //strrev(); 字符串函数:将一个给定的字符串实现反转
- $str2=implode(' ',array_map('strrev',explode(' ',$str_xiao)));
- //在这里应用了四个函数
- //1.应用explode函数 通过字符串的空格 实现把字符串转换为数组
- //2.应用array_map函数 将数组的内容 实现反转
- //3.应用implode函数 将反转后的数组 重新连接为字符串
- for ($i=0; $i < $len; $i++)
- checkcase($str1[$i])?$str2[$i]=strtoupper($str2[$i]):$str2[$i]=strtolower($str2[$i]);
- //解释:三目运算符
- //在for循环中 调用下方的自定义函数 来判断每一个字母的大小写
- //true 则使用strtoupper将该字母变成大写
- //false 则使用strtolower将该字母变小写
- function checkcase($aa)
- if(preg_match('/^[A-Z]+$/', $aa))//通过正则判断大小写
- return true;
- else
- return false;
- echo $str2;//最后输出
- ?>
2:
<?php
header("content-type:text/html;charset=utf-8");
$str = "Swift NSLayoutConstraint";
// echo $str;
$arr = explode(" ",$str);
// print_r($arr);die;
echo "<pre>";
for ($i=0; $i < count($arr); $i++)
for($a=0; $a<strlen($arr[$i]);$a++)
if(check($arr[$i][$a]) == 1)
$ar[$i][$a] = $a;
// print_r($ar);
$str = strtolower($str);
$arr1 = explode(" ",$str);
for ($i=0; $i < count($arr1); $i++)
$arr2[$i] = strrev($arr1[$i]);
// print_r($arr2);
for($a=0;$a<count($arr2);$a++)
for($i=0;$i<strlen($arr2[$a]); $i++)
foreach($ar[$a] as $k => $vv)
if($i == $vv)
$arr2[$a][$i] = strtoupper($arr2[$a][$i]);
// print_r($arr2);
echo $arr2[0]." ".$arr2[1];
function check($str)
if(preg_match('/^[A-Z]$/',$str))
return 1;
?>
3:
<?php
header('content-type:text/html;charset=utf-8');
$str = "Swift NSLayoutConstraint";
echo $str;
echo "<br>";
$arr = str_split($str);
foreach($arr as $k => $v)
// echo $v;
if(preg_match('/^[A-Z]$/',$v))
$ar[] = $k;
// print_r($ar);die;
$str1 = '';
$ars = explode(" ",$str);
foreach($ars as $k => $v)
$ar1[$k] = strtolower(strrev($v));
$str1 .= $ar1[$k]." ";
// echo $str1;die;
$str11 = str_split($str1);
// print_R($str11);die;
foreach($ar as $k => $v)
$str11[$v] = strtoupper($str11[$v]);
echo implode($str11);
// print_r($str11);
?>
以上是关于字符串反转 转换大小写的三种方法的主要内容,如果未能解决你的问题,请参考以下文章