新聞中心
我們?nèi)绾卧赑HP編碼中實(shí)現(xiàn)字符串順序的顛倒呢?在這篇文章中,我們將為大家詳細(xì)介紹有關(guān)PHP字符串顛倒順序的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助。

首先,php自帶了一個(gè)字符串顛倒順序的函數(shù)。
PHP字符串顛倒順序代碼:
- $str = 'To Change The template';
- echo strrev($str);
- // 結(jié)果:etalpmet ehT egnahC oT
其次,使用遞歸函數(shù)實(shí)現(xiàn)。當(dāng)然效率很低!PHP字符串顛倒順序代碼:
- function reverse_r($str)
- { if (strlen($str) > 0)
- { reverse_r(substr($str, 1));
- }
- echo substr($str, 0, 1);
- return;}echo reverse_r($str);
第三,使用循環(huán)實(shí)現(xiàn),效率有很大的提高。PHP字符串顛倒順序代碼:
- /** * 利用循環(huán)實(shí)現(xiàn)字符串逆序排列 */
- function reverse_i($str)
- { for ($i = 1; $i < = strlen($str); $i++)
- { echo substr($str, -$i, 1); } return;
- }
- echo reverse_i($str);
***,使用二分法實(shí)現(xiàn),效率有更大的提高。PHP字符串顛倒順序代碼:
- /** * 使用二分法來實(shí)現(xiàn)字符串顛倒順序。 */
- function reverse_a($str)
- { $forNum = ceil(strlen($str)/2);
- $strLen = strlen($str);
- for ( $i = 1; $i < = $forNum; $i++)
- { if($i <= $strLen-$i)
- { $tmp = $str[$i-1]; $str[$i-1] =
$str[$strLen-$i]; $str[$strLen-$i]= $tmp;
}- }
- return $str; }
- // 注:其實(shí)按照二分法來實(shí)現(xiàn),理論上效率會(huì)提升一半,但是這個(gè)涉及
- //到數(shù)組的指針操作,實(shí)際效率會(huì)怎樣?
難說。echo "二分實(shí)現(xiàn):\t",reverse_a($str);
#t#***一種PHP字符串顛倒順序的方法涉及到三個(gè)知識(shí)點(diǎn):
1. ceil()函數(shù):進(jìn)一法取整。如:5/4=1.25,ceil(5/4)=2,不管小數(shù)位是否大于0.5,均進(jìn)一取整。
2. 字符串當(dāng)成數(shù)組訪問,如$str[0],$str[1]…可以訪問字符串$str的***個(gè)字符、第二個(gè)字符…
3. 二分法。PHP字符串顛倒順序的方法3需要循環(huán)的次數(shù)是字符串的長度,而方法4則是字符串長度的一半,所以效率會(huì)提高一倍(理論上)。
文章名稱:探討PHP字符串顛倒順序的實(shí)現(xiàn)方法
文章URL:http://www.fisionsoft.com.cn/article/cdcdcoo.html


咨詢
建站咨詢
