有兩種方法:
創(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';
}
}
把他倒序一次
foreach(array_reverse($a) as $i=$v){
echo $v;
}
第一、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)