(假設有字符串abcd,用php實現字符串翻轉)
1.第一種php有自帶的函數strrev可以輕鬆實現:
$str = 'abcd';
//第一種自帶strrev實現翻轉
echo strrev($str);2.就是把分割字符串到一個數組中,然後遍歷拼接:
function joinStrrev($str){
if (strlen($str) <= 1) return $str;
$newstr = '';
//str_split(string,length) 函數把字符串分割到數組中:string 必需。規定要分割的字符串。length 可選。規定每個數組元素的長度。默認是 1。
$strarr = str_split($str,1);
foreach ($strarr as $word) {
$newstr = $word.$newstr;
}
return $newstr;
}
$revstr = joinStrrev($str);
echo $revstr;3.就是利用遞歸來做:
function recursionStrrev($str){
if (strlen($str) <= 1) return $str;//遞歸出口
$newstr = '';
//遞歸點,substr(string,start,length) :substr() 函數返回字符串的一部分,如果 start 參數是負數且 length 小於或等於 start,則 length 爲 0,正數 - 在字符串的指定位置開始,負數 - 在從字符串結尾的指定位置開始,0 - 在字符串中的第一個字符處開始
$newstr .= substr($str,-1).recursionStrrev(substr($str,0,strlen($str)-1));
return $newstr;//遞歸出口
}
$revstr = recursionStrrev($str);
echo $revstr;