php字符串反转

<?php

/**
 * 转换字符串
 * Input: Many people spell MySQL incorrectly
 * Output: Ynam elpoep lleps LqSYM yltcerrocni
 */
function convertStr($input) {
    // 检测数据
    $pattern = "/^[a-zA-Z\s]+$/";
    if (!preg_match($pattern,$input)) {
        return "输入非法";
    }

    // 分割字符串成数组并去除无效的数据
    $arr = explode(' ',$input);
    $new_arr = [];
    foreach($arr as $k=>$v) {
        if ($v != '') {
            $new_arr[] = $v;
        }
    }
    // 处理数据
    $out_arr = [];
    foreach($new_arr as $word) {
        // 获取反转的字符串
        $rev_word = strrev($word);

        // 获取字符串长度
        $word_len = strlen($word);

        $out_word = "";
        for($i = 0;$i<$word_len;$i++) {
            $alphabet = $word[$i];
            // 判断是否是大写,ASCII值判断
            if ((ord($alphabet) >= ord('A')) && (ord($alphabet) <= ord('Z')) ) { // 大写
                $out_word .= strtoupper($rev_word[$i]);
            } else {
                $out_word .= strtolower($rev_word[$i]);
            }
        }
        $out_arr[] = $out_word;
    }
    
    $out_str = implode(" ",$out_arr);
    return $out_str;

}

echo convertStr(" Many   people spell MySQL incorrectly");

有点意思。

posted @ 2020-01-08 22:25  TBHacker  阅读(685)  评论(0编辑  收藏  举报