實現字串翻轉PHP本身自帶一個函式就可以解決,strrev函式。這裡不適用任何內建函式實現字串翻轉
案例一(純字母):
$str = 'abcdefghig k'; //假設測試的字串/g與k之間有一個空格
//php中的字串可以看做陣列來處理,比如程式碼輸出 echo $str[4]; ,結果為 e,也就是abcdefghigk的第四個字母
function str_rev ($str)
{
for ($i = 0; true; $i++) //true模擬死迴圈
{
if (!isset($str[$i])){ //如果沒有資料,也就是超出字串長度,那麼跳出死迴圈
break;
}
}
//那麼字串長度就是$i - 1
$last_str = '';
for ($j = $i - 1; $j >=0 ; $j -- )
{
$last_str .= $str[$j];
}
return $last_str;
}
echo str_rev($str);
k gihgfedcba //輸出結果
案例二(有中文,且包含內建函式):
$str = 'abcd卡忙北鼻abc d';
function str_rev($str,$encoding='utf-8'){
$result = '';
$len = mb_strlen($str);
for($i=$len-1; $i>=0; $i--){
$result .= mb_substr($str,$i,1,$encoding);
}
return $result;
}
echo str_rev($str);
d cba鼻北忙卡dcba //輸出結果