本文實例講述了PHP多維數組遍歷方法。分享給大家供大家參考,具體如下:

成都創新互聯公司是一家專注于網站建設、成都網站建設與策劃設計,大祥網站建設哪家好?成都創新互聯公司做網站,專注于網站建設十載,網設計領域的專業建站公司;建站業務涵蓋:大祥等地區。大祥做網站價格咨詢:18980820575
方法一:
$a=array('fruits'=array('a'='orange',
'b'='grape',c='apple'),
'numbers'=array(1,2,3,4,5,6),
'holes'=array('first',5='second','third')
);
foreach($a
as
$list=$things){
if(is_array($things)){
foreach($things
as
$newlist=$counter){
echo
"key:".$newlist."br/"."value:".$counter."br/";
}
}
}
方法二:
function
MulitarraytoSingle($array){
$temp=array();
if(is_array($array)){
foreach
($array
as
$key=$value
)
{
if(is_array($value)){
MulitarraytoSingle($value);
}
else{
$temp[]=$value;
}
}
}
}
希望本文所述對大家PHP程序設計有所幫助。
php如何用foreach遍歷不同數據庫最后統計總數?
下面適用所有一維數組.
$i=0;
$arr_n=count($ar)-1;
foreach($ar as $f){
if($arr_n!=$i){
echo $f."br";
}
$i++;
}
類似于
$arr_n=count($ar);
for($i=0;$i$arr_n-1;$i++){
echo $ar[$i]."br";
}
第一、foreach()
foreach()是一個用來遍歷數組中數據的最簡單有效的方法。
?php
$urls= array('aaa','bbb','ccc','ddd');
foreach ($urls as $url){
echo "This Site url is $url! br /";
}
?
顯示結果:
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 /";
}
?
顯示結果:
?
This Site url is aaa
This Site url is bbb
This Site url is ccc
This Site url is ddd
第三、for()運用for遍歷數組
?php
$urls= array('aaa','bbb','ccc','ddd');
for ($i= 0;$i count($urls); $i++){
$str= $urls[$i];
echo "This Site url is $str.br /";
}
?
顯示結果:
This Site url is aaa
This Site url is bbb
This Site url is ccc
This Site url is ddd
這幾種遍歷數組的方法哪個更快捷些呢,下面做個簡單的測試就明白了
=========== 下面來測試三種遍歷數組的速度 ===========
一般情況下,遍歷一個數組有三種方法,for、while、foreach。其中最簡單方便的是foreach。下面先讓我們來測試一下共同遍歷一個有50000個下標的一維數組所耗的時間。
?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 /';
?
測試結果:
Used time of for:0.0228429(s)
Used time of while:0.0544658(s)
Used time of foreach:0.0085628(s)
結果表明,對于遍歷同樣一個數組,foreach速度最快,最慢的則是while。從原理上來看,foreach是對數組副本進行操作(通過拷貝數組),而while則通過移動數組內部指標進行操作,一般邏輯下認為,while應該比foreach快(因為foreach在開始執行的時候首先把數組復制進去,而while直接移動內部指標。),但結果剛剛相反。原因應該是,foreach是PHP內部實現,而while是通用的循環結構。所以,在通常應用中foreach簡單,而且效率高。在PHP5下,foreach還可以遍歷類的屬性。
希望能夠喜歡。
既然是遍歷,那就將數據庫指針先移到第一條記錄,逐次取出數據進行運算,下移指針,直到庫結束。
通常的代碼如下:
mysql_data_seek($result,0);//指針復位
while($row=mysql_fetch_array($result))?{?
//對每行記錄進行運算?處理,如?:echo?$row['name']."br?/";?
}
新聞名稱:php如何遍歷多重數據庫 php如何遍歷多重數據庫
網址分享:http://www.yijiale78.com/article14/hihhde.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、靜態網站、響應式網站、自適應網站、App設計、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯