国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP字符串逆序排列實現方法小結【strrev函數,二分法,循環法,遞歸法】

2024-05-04 23:54:25
字體:
來源:轉載
供稿:網友

本文實例總結了PHP字符串逆序排列實現方法。分享給大家供大家參考,具體如下:

關于字符串的逆序排列,最簡單的使用PHP函數strrev()的測試代碼如下:

header('Content-type: text/html; charset=utf-8');$str = implode('', range(9, 0));print '< p><strong>Before reversed: </strong>'.$str.'< /p>';print '< p>< strong>After reversed: < /strong>'.strrev($str).'< /p>';/*輸出如下:Before reversed: 9876543210After reversed: 0123456789*/

如果不用內置的PHP函數strrev(),又該如何實現呢?這里另外給出了3種方法(二分法、循環法、遞歸法),但沒有進行性能測試。

1、二分法

/*** 二分法實現字符串逆序排列* @param string $str 源字符串* @return string 返回逆序后的字符串*/function reverse($str='') {  $len = strlen($str);  //不能使用count或sizeof  $mid = floor($len/2);  for ($i=0; $i<$mid; $i++) {    $temp = $str[$i];    $str[$i] = $str[$len-$i-1];    $str[$len-$i-1] = $temp;  }  return $str;}

2、循環法

/*** 循環實現對字符串的逆序排列(效率比二分法低)* @param string $str 源字符串* @return string 返回逆序后的字符串*/function reverse($str='') {  $result = '';  for ($i=1; $i<=strlen($str); $i++) {    $result .= substr($str, -$i, 1);  }  return $result;}

3、遞歸法

/*** 遞歸實現對字符串的逆序排列(效率低)* @param string $str 源字符串* @return string 返回逆序后的字符串*/function reverse($str='') {  static $result = '';  /* 用堆棧來理解遞歸調用 */  if (strlen($str) > 0) {    reverse(substr($str, 1));    $result .= substr($str, 0, 1);    //此句必須放在上一語句之后  }  return $result;}

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 望城县| 金平| 广宁县| 于田县| 咸宁市| 黄浦区| 翁牛特旗| 开远市| 青铜峡市| 宝丰县| 侯马市| 剑阁县| 昌平区| 容城县| 通海县| 清涧县| 金川县| 卢湾区| 晋中市| 兴安盟| 澎湖县| 滦平县| 安宁市| 南阳市| 抚宁县| 沈丘县| 武功县| 阜南县| 九寨沟县| 台北县| 永春县| 新安县| 崇州市| 湘潭县| 宣城市| 都安| 绥中县| 都匀市| 阳城县| 白山市| 榆树市|