偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

解讀PHP函數(shù)strrev()以外的三種逆序排列方法

開發(fā) 后端
PHP函數(shù)strrev()可以幫助我們實(shí)現(xiàn)數(shù)組的逆序排列,在這之外我們還可以用到二分法、循環(huán)法、遞歸法等三種方法來實(shí)現(xiàn)這以功能。

我們在運(yùn)用PHP語言進(jìn)行實(shí)際代碼操作時(shí),其內(nèi)置函數(shù)對我們的編碼程序起到了很大的作用。今天我們就為大家具體講解了有關(guān)PHP函數(shù)strrev()的具體用法。#t#

關(guān)于字符串的逆序排列,PHP函數(shù)strrev()的測試代碼如下:

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


如果不用內(nèi)置的PHP函數(shù)strrev(),又該如何實(shí)現(xiàn)呢?這里試驗(yàn)了3種方法(二分法、循環(huán)法、遞歸法),但沒有進(jìn)行性能測試。

1、二分法

  1. /**  
  2. * 二分法實(shí)現(xiàn)字符串逆序排列  
  3. * @param string $str 源字符串  
  4. * @return string 返回逆序后的字符串  
  5. */  
  6. function reverse($str='') {  
  7. $len = strlen($str);//不能使用count或sizeof  
  8. $mid = floor($len/2);  
  9. for ($i=0; $i<$mid; $i++) {  
  10. $temp = $str[$i];  
  11. $str[$i] = $str[$len-$i-1];  
  12. $str[$len-$i-1] = $temp;  
  13. }  
  14. return $str;  


2、循環(huán)法

  1. /**  
  2. * 循環(huán)實(shí)現(xiàn)對字符串的逆序排列(效率比二分法低)  
  3. * @param string $str 源字符串  
  4. * @return string 返回逆序后的字符串  
  5. */  
  6. function reverse($str='') {  
  7. $result = '';  
  8. for ($i=1; $i<=strlen($str); $i++) {  
  9. $result .substr($str, -$i, 1);  
  10. }  
  11. return $result;  
  12. }  

3、遞歸法

 

  1. /**  
  2. * 遞歸實(shí)現(xiàn)對字符串的逆序排列(效率低)  
  3. * @param string $str 源字符串  
  4. * @return string 返回逆序后的字符串  
  5. */  
  6. function reverse($str='') {  
  7. static $result = '';  
  8. /* 用堆棧來理解遞歸調(diào)用 */  
  9. if (strlen($str) > 0) {  
  10. reverse(substr($str, 1));  
  11. $result .substr($str, 0, 1);//此句必須放在上一語句之后  
  12. }  
  13. return $result;  
  14. }  

以上就是PHP函數(shù)strrev()的具體用法,以及另外三種逆序排列的實(shí)現(xiàn)方法。

責(zé)任編輯:曹凱 來源: longlinfeng.com
相關(guān)推薦

2010-02-03 15:46:15

C++函數(shù)傳遞

2017-04-11 15:15:20

CentOSPHP拓展安裝

2015-10-13 15:05:09

BYOD自帶設(shè)備移動辦公

2015-09-25 11:08:44

移動辦公BYOD

2010-09-02 10:02:17

PHP

2009-12-21 13:37:43

WCF消息交換

2009-07-08 12:56:32

編寫Servlet

2019-08-30 17:24:41

microservic微服務(wù)

2009-12-04 15:42:57

PHP文件緩存

2012-08-07 10:02:06

JSP

2023-12-25 14:44:52

Java數(shù)組

2022-05-30 07:07:35

Java監(jiān)聽文件Java 8

2015-01-05 14:51:45

彈性存He云存儲架構(gòu)UnitedStack

2022-07-13 16:06:16

Python參數(shù)代碼

2009-12-11 18:49:39

預(yù)算編制博科資訊

2024-11-15 07:00:00

Python發(fā)送郵件

2016-09-30 01:10:12

R語言聚類方法

2011-04-18 15:32:45

游戲測試測試方法軟件測試

2010-09-14 15:10:49

CSS注釋

2023-08-14 17:58:13

RequestHTTP請求
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號