字符串反轉函數

如果不用php自帶的字符串反轉函數,我們如何實現該功能呢?

class Practice {
    
    function __construct(){
        
    }

    /**
     * 自定義的字符串反轉函數
     * @param string $input 輸入字符串
     * @return  string
     */
    public function strrev1($input) {
    	$len = strlen($input);
    	$output = '';
    	for($i=$len-1;$i>=0;--$i) {
    		$output .= $input{$i};
    	}
    	return $output;
    }
    /**
     * 改進的字符串反轉函數
     * @param  string $input 輸入
     * @return string
     */
    public function strrev2($input) {
    	$len = mb_strlen($input,'utf-8');
    	$output = '';
    	for($i=-1;$i>=(-1)*$len;--$i) {
    		$output .= mb_substr($input,$i,1,'utf-8');
    	}
    	return $output;
    }
}

$objLearn = new Practice();
$input = 'what are you doing now?';
$output = $objLearn->strrev1($input);
var_dump($output);
echo "<hr/>";
$input = "選對方向你就成功了一半了";
$output = $objLearn->strrev1($input);
var_dump($output);
echo "<hr/>";

$input = 'what are you doing now?';
$output = $objLearn->strrev2($input);
var_dump($output);
echo "<hr/>";
$input = "選對方向你就成功了一半了";
$output = $objLearn->strrev2($input);
var_dump($output);
echo "<hr/>";

//調用系統的反轉函數
$input = 'what are you doing now?';
$output = strrev($input);
var_dump($output);
echo "<hr/>";
$input = "選對方向你就成功了一半了";
$output = strrev($input);
var_dump($output);
echo "<hr/>";

然後運行一下看最終的結果如下:


發佈了101 篇原創文章 · 獲贊 27 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章