PHP面试题目

29个成员

大小写互转题

发表于 2015-12-11 1334 次查看

目前有一字符串,字符串有大小写不同的字母,现需要写一个方法,把其中的大写字母转为小写,小写字母转为大写,例如:$str = 'NroTVeMid '; 通过方法转化后为:$str = 'nROtvEmID';

7回复
  • 2楼 阿磊 2015-12-11

    <?php
    $str="lNxrpPPPoTVEMide";

    function check($str){
        $res=str_split($str);
        for($i=0;$i<count($res);$i++){
        if(strtoupper($res[$i])===$res[$i]){
            echo strtolower($res[$i]);
        }else{
            echo strtoupper($res[$i]);
        }
        
        }
    }

    check($str);

  • 3楼 变态狂人 2015-12-11

    $str = 'NroTVeMid';
    function To($str){
        $arr = str_split($str);
        $ret = '';
        foreach($arr as $k => $v){
            $res = ord($v);
            if($res >=97 ){
                $ret.= chr($res-32);
            }else{
                $ret.= chr($res+32);
            }
        }
        return $ret;
    }

  • 4楼 zzliux 2015-12-11

    <?php
    $str = 'nROtvEmID';
    echo fun($str);
    function fun($str){
        return preg_replace_callback('/([a-z]*)([A-Z]*)/', function($m){
            return strtoupper($m[1]).strtolower($m[2]);
        }, $str);
    }

  • 5楼 福娃 2015-12-11

    $str = 'nROtvEmID';
    $arr=str_split($str);
    $show="";
    $strs=array_walk($arr,function($value,$key){
        global $show;
        if(preg_match('/[a-z]/', $value)){
              $show.=strtoupper($value);
        }elseif(preg_match('/[A-Z]/', $value)){
            $show.=strtolower($value);
        }else{
              $show.=$value;
        }
    });
    echo $show;

  • 6楼 祝你好运 2015-12-11

    <?php
    $str = 'NroTVeMid ';
    function zimu($str){//strtoupper($m[1]).strtolower($m[2]);
        $str1=$str;
         $str=str_split($str);
         $z='';
        foreach ($str as $k => $v) {
         if (strtoupper($v)===$str[$k]) {         
             $z.=strtolower($v);
         }else{         
             $z.=strtoupper($v);
                  }
        }
     echo '大小写转化前是:'.$str1.'******<br/>';   
    echo '大小写转化后是:'.$z.'******';
       }
       zimu($str);

  • 7楼 野人 2015-12-11

    <?php
    $str = 'lNxrpPPPoTVEMide';
    $strs = strlen($str);
    for($i=0;$i<$strs;$i++){
        $arr[$i] = $str[$i];
    }
    foreach($arr as $v){
        if(preg_match('/^[a-z]+$/', $v)){
            $myok[] = strtoupper($v);
        }elseif(preg_match('/^[A-Z]+$/', $v)){
            $myok[] = strtolower($v); 
        }
    }
    echo implode($myok);
    ?>

发表回复
你还没有登录,请先登录注册

加入我们吧,一起学习QQ群516033298