php數(shù)據(jù)反向遍歷 php反轉(zhuǎn)數(shù)組

PHP如何讓數(shù)據(jù)倒序顯示?

有兩種方法:

創(chuàng)新互聯(lián)建站從2013年開始,先為云霄等服務(wù)建站,云霄等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為云霄企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

1、如果直接是字符串或者是數(shù)組,分別用strrev 或者array_reverse反轉(zhuǎn)可以

2、自己寫一個(gè)算法,讓字符串反轉(zhuǎn)過來。$str = "abcdef";for ($i=1; $i=strlen($str); $i++){

echo substr($str , -$i , 1)}。

php 正序輸出示例代碼

實(shí)現(xiàn)代碼:

// 正序

foreach($files as $file_num = $file) {

if(is_file($directory.$file)){

//$file = iconv("gb2312","UTF-8",$file); //或者 iconv("gb2312","UTF-8",$value);

$date = substr($file,0,9);

echo 'li class="world-cup-'.$date.'"';

echo 'a href="'.$directory.$file.'" rel="worldcup" title="巴西世界杯賽事'.$date.'"';

echo 'img src="'.$directory.$file.'" alt=""';

echo '/a';

echo '/li';

}

}

php 怎么反向遍歷一個(gè)數(shù)組

把他倒序一次

foreach(array_reverse($a) as $i=$v){

echo $v;

}

PHP 怎么樣遍歷

第一、foreach()

foreach()是一個(gè)用來遍歷數(shù)組中數(shù)據(jù)的最簡單有效的方法。

?php

$urls= array('aaa','bbb','ccc','ddd');

foreach ($urls as $url){

echo "This Site url is $url! br /";

}

?

顯示結(jié)果:

This Site url is aaa

This Site url is bbb

This Site url is ccc

This Site url is ddd

第二、while() 和 list(),each()配合使用。

?php

$urls= array('aaa','bbb','ccc','ddd');

while(list($key,$val)= each($urls)) {

echo "This Site url is $val.br /";

}

?

顯示結(jié)果:

?

This Site url is aaa

This Site url is bbb

This Site url is ccc

This Site url is ddd

第三、for()運(yùn)用for遍歷數(shù)組

?php

$urls= array('aaa','bbb','ccc','ddd');

for ($i= 0;$i count($urls); $i++){

$str= $urls[$i];

echo "This Site url is $str.br /";

}

?

顯示結(jié)果:

This Site url is aaa

This Site url is bbb

This Site url is ccc

This Site url is ddd

這幾種遍歷數(shù)組的方法哪個(gè)更快捷些呢,下面做個(gè)簡單的測試就明白了

=========== 下面來測試三種遍歷數(shù)組的速度 ===========

一般情況下,遍歷一個(gè)數(shù)組有三種方法,for、while、foreach。其中最簡單方便的是foreach。下面先讓我們來測試一下共同遍歷一個(gè)有50000個(gè)下標(biāo)的一維數(shù)組所耗的時(shí)間。

?php

$arr= array();

for($i= 0; $i 50000; $i++){

$arr[]= $i*rand(1000,9999);

}

function GetRunTime()

{

list($usec,$sec)=explode(" ",microtime());

return ((float)$usec+(float)$sec);

}

######################################

$time_start= GetRunTime();

for($i= 0; $i count($arr); $i++){

$str= $arr[$i];

}

$time_end= GetRunTime();

$time_used= $time_end- $time_start;

echo 'Used time of for:'.round($time_used, 7).'(s)br /br /';

unset($str, $time_start, $time_end, $time_used);

######################################

$time_start= GetRunTime();

while(list($key, $val)= each($arr)){

$str= $val;

}

$time_end= GetRunTime();

$time_used= $time_end- $time_start;

echo 'Used time of while:'.round($time_used, 7).'(s)br /br /';

unset($str, $key, $val, $time_start, $time_end, $time_used);

######################################

$time_start= GetRunTime();

foreach($arr as$key= $val){

$str= $val;

}

$time_end= GetRunTime();

$time_used= $time_end- $time_start;

echo 'Used time of foreach:'.round($time_used, 7).'(s)br /br /';

?

測試結(jié)果:

Used time of for:0.0228429(s)

Used time of while:0.0544658(s)

Used time of foreach:0.0085628(s)

結(jié)果表明,對于遍歷同樣一個(gè)數(shù)組,foreach速度最快,最慢的則是while。從原理上來看,foreach是對數(shù)組副本進(jìn)行操作(通過拷貝數(shù)組),而while則通過移動(dòng)數(shù)組內(nèi)部指標(biāo)進(jìn)行操作,一般邏輯下認(rèn)為,while應(yīng)該比foreach快(因?yàn)閒oreach在開始執(zhí)行的時(shí)候首先把數(shù)組復(fù)制進(jìn)去,而while直接移動(dòng)內(nèi)部指標(biāo)。),但結(jié)果剛剛相反。原因應(yīng)該是,foreach是PHP內(nèi)部實(shí)現(xiàn),而while是通用的循環(huán)結(jié)構(gòu)。所以,在通常應(yīng)用中foreach簡單,而且效率高。在PHP5下,foreach還可以遍歷類的屬性。

希望能夠喜歡。

本文標(biāo)題:php數(shù)據(jù)反向遍歷 php反轉(zhuǎn)數(shù)組
鏈接URL:http://muchs.cn/article46/doegdhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、靜態(tài)網(wǎng)站商城網(wǎng)站、做網(wǎng)站、微信小程序、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化