真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php如何遍歷多重數(shù)據(jù) php如何遍歷多重數(shù)據(jù)類型

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

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

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、賀蘭網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為賀蘭等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

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

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

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

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

方法1:foreach

復(fù)制代碼

代碼如下:

?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

復(fù)制代碼

代碼如下:

?php

$sports

=

array(

'football'

=

'good',

'swimming'

=

'very

well',

'running'

=

'not

good');

while

($elem

=

each($sports))

{

echo

$elem['key'].":

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

/";

?

方法3:list

each

復(fù)制代碼

代碼如下:

?php

$sports

=

array(

'football'

=

'good',

'swimming'

=

'very

well',

'running'

=

'not

good');

while

(list($key,

$value)

=

each($sports))

{

echo

$key.":

".$value."br

/";

?

PHP遍歷多維數(shù)組

你的意思是用戶輸入nickname?比如輸'user2'?然后你這邊取user2對應(yīng)的password嗎?

$data?=?[

'user'=[

"0a8a5986a6c18920fd456fdfbb048913"=[

"nickname"="user1",

"userName"="username",

"passWord"="password",

"status"=1,

],

"0ffb201c2335a784abd19c2985797711"=[

"nickname"="user2",

"userName"="username",

"passWord"="password",

"status"=1,

],

]

];

//第一種情況是user數(shù)組里有多個叫user2的nickname,這樣查出的password也會有多個,所以就需要循環(huán)來處理了

$nickname='user2';//這里是用戶輸入的值

$password=[];

foreach?($data['user']?as?$val){

if($val['nickname']==$nickname){

$password[]=$val['passWord'];

}

}

print_r($password);

//第二情況就是user數(shù)組里只會有一個叫user2的nickname,這樣只會查出一個password

$nickname='user2';//這里是用戶輸入的值

$user=array_column($data['user'],null,'nickname');

$password=$user[$nickname]['passWord'];

echo?$password;

PHP 怎么樣遍歷

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

希望能夠喜歡。


文章標(biāo)題:php如何遍歷多重數(shù)據(jù) php如何遍歷多重數(shù)據(jù)類型
鏈接地址:http://weahome.cn/article/docccss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部