字符串操作

来源:互联网 发布:怎么样看淘宝买家几星 编辑:程序博客网 时间:2024/05/13 06:51

考核目标:字符串操作

案例描述:

字符串1:Swift NSLayoutConstraint

字符串2:Tfiws TNIartsnOctuoyalsn

按上边字符串1转换到字符串2 的规律,编写一个字符串处理函数。


解决方法  1:

<?phpheader('content-type:text/html;charset=utf-8');error_reporting( E_ALL&~E_NOTICE );$str = "Swift NSLayoutConstraint";/*$arr = explode(" ",$str);//print_r($arr);die;for($j = 0; $j < count($arr); $j++) {    for ($i = 0; $i < strlen($arr[$j]); $i++) {        if (checkcase($arr[$j][$i]) == 1) {            $key[$j][$i] = $i;        }    }}//print_r($key);$str = strtolower($str);$new_arr = explode(" ",$str);for($j = 0; $j < count($new_arr); $j++) {    $new_arr[$j] = strrev($new_arr[$j]);}print_r($new_arr);for($j=0; $j<count($new_arr);$j++) {        for ($i = 0; $i < strlen($new_arr[$j]); $i++) {            foreach ($key[$j] as $k => $v) {                if ($k == $i) {                    $new_arr[$j][$i] = strtoupper($new_arr[$j][$i]);                }            }        }}print_r($new_arr);function checkcase($str){    if(preg_match('/^[A-Z]$/', $str)){        return 1;    }}*//


方法 二:


*$str = "Swift NSLayoutConstraint";//得到字符串大写的位置$new_str = str_split($str);foreach($new_str as $k=>$v){    if(preg_match('/^[A-Z]$/', $v)){        $key[] = $k;    }}//翻转 变小写  变数组$new_arr = explode(" ",$str);//print_r($new_arr);die;foreach($new_arr as $k=>$v){    $new_arr[$k] = strtolower(strrev($v));    $str1 .= $new_arr[$k]." ";}$new_arr1 = str_split($str1);foreach($key as $v){   $new_arr1[$v] = strtoupper($new_arr1[$v]);}$result_str= implode($new_arr1);echo $result_str;*/ 

方法 三


/*字符串1:Swift NSLayoutConstraint字符串2:Tfiws TNIartsnOctuoyalsn按上边字符串1转换到字符串2 的规律,编写一个字符串处理函数。 */$str1 = "Swift NSLayoutConstraint";$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;//最后输出

请各位指正批评

1 0
原创粉丝点击