php遍歷數(shù)據(jù) php遍歷數(shù)據(jù)表

PHP?數(shù)組遍歷方法大全(foreach,list,each)

在PHP中數(shù)組分為兩類:

為清河門等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及清河門網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站建設、成都做網(wǎng)站、清河門網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

數(shù)字索引數(shù)組和關(guān)聯(lián)數(shù)組。

其中數(shù)字索引數(shù)組和C語言中的數(shù)組一樣,下標是為0,1,2…

而關(guān)聯(lián)數(shù)組下標可能是任意類型,與其它語言中的hash,map等結(jié)構(gòu)相似。

下面介紹PHP中遍歷關(guān)聯(lián)數(shù)組的三種方法:

方法1:foreach

復制代碼

代碼如下:

?php

$sports

=

array(

'football'

=

'good',

'swimming'

=

'very

well',

'running'

=

'not

good');

foreach

($sports

as

$key

=

$value)

{

echo

$key.":

".$value."br

/";

?

輸出結(jié)果:

football:

good

swimming:

very

well

running:

not

good

方法2:each

復制代碼

代碼如下:

?php

$sports

=

array(

'football'

=

'good',

'swimming'

=

'very

well',

'running'

=

'not

good');

while

($elem

=

each($sports))

{

echo

$elem['key'].":

".$elem['value']."br

/";

?

方法3:list

each

復制代碼

代碼如下:

?php

$sports

=

array(

'football'

=

'good',

'swimming'

=

'very

well',

'running'

=

'not

good');

while

(list($key,

$value)

=

each($sports))

{

echo

$key.":

".$value."br

/";

?

PHP遍歷數(shù)組的方法匯總

今天有個朋友問我一個問題php遍歷數(shù)組的方法,告訴她了幾個。順便寫個文章總結(jié)下,如果總結(jié)不全還請朋友們指出

第一、foreach()

foreach()是一個用來遍歷數(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()運用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ù)組的方法哪個更快捷些呢,下面做個簡單的測試就明白了

===========

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

===========

一般情況下,遍歷一個數(shù)組有三種方法,for、while、foreach。其中最簡單方便的是foreach。下面先讓我們來測試一下共同遍歷一個有50000個下標的一維數(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)

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

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

php中的數(shù)組遍歷的幾種方式

?php//使用for循環(huán)遍歷$arr2=array(array("張三","20","男"),array("李四","25","男"),array("王五","19","女"),array("趙六","25","女"));echo "table border=2 bordercolor=redtrtd姓名/tdtd年齡/td gt;td性別/td/tr";for($i=0;$i4;$i++){echo "tr";for($j=0;$j3;$j++){ echo "td"; echo $arr2[$i][$j]; echo "/td";}echo "/tr";echo "";}echo "/table";?//使用foreach遍歷 ?php$arr = array('one'=array('name'='張三','age'='23','sex'='男'), 'two'=array('name'='李四','age'='43','sex'='女'), 'three'=array('name'='王五','age'='32','sex'='男'), 'four'=array('name'='趙六','age'='12','sex'='女'));foreach($arr as $k=$val){ echo $val['name'].$val['age'].$val['sex']."";}echo "p";??php$arr = array('one'=array('name'='張三','age'='23','sex'='男'), 'two'=array('name'='李四','age'='43','sex'='女'), 'three'=array('name'='王五','age'='32','sex'='男'), 'four'=array('name'='趙六','age'='12','sex'='女'));foreach($arr as $key=$value){foreach($value as $key2=$value2){ echo $value2;}echo "";}?

網(wǎng)站欄目:php遍歷數(shù)據(jù) php遍歷數(shù)據(jù)表
當前網(wǎng)址:http://muchs.cn/article44/dospghe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗動態(tài)網(wǎng)站、面包屑導航、App開發(fā)、網(wǎng)站設計公司、App設計

廣告

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

營銷型網(wǎng)站建設