在PHP中數(shù)組分為兩類:
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、英吉沙網(wǎng)絡(luò)推廣、微信平臺小程序開發(fā)、英吉沙網(wǎng)絡(luò)營銷、英吉沙企業(yè)策劃、英吉沙品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供英吉沙建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:jinyejixie.com
數(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
/";
?
今天有個(gè)朋友問我一個(gè)問題php遍歷數(shù)組的方法,告訴她了幾個(gè)。順便寫個(gè)文螞源章總結(jié)下,如果總結(jié)不全還請朋友們指出
第一、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í)候有人也在問這幾種遍歷數(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)
經(jīng)過帶物數(shù)反復(fù)多次測試,結(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還可以遍歷類的屬性。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
1、在test.php文件內(nèi),使用header設(shè)置test.php執(zhí)行的搜猜伏編碼為utf8,避免輸出中文的時(shí)候出現(xiàn)亂碼。
2、在test.php文件內(nèi),創(chuàng)建一個(gè)測試的數(shù)組,例如,定兆芹義一個(gè)分類的數(shù)組,其對應(yīng)的索引值分別為0,4,8。
3、在test.php文件內(nèi),使用array_values()方法將上一步的數(shù)據(jù)重新排序,并且從0開始,把重新排序的數(shù)組保存在$result變量中。
4、在test.php文件內(nèi),使用foreach方法遍歷數(shù)組,其中$k為索引值,$v為索引值對應(yīng)的數(shù)組值。
5、在test.php文件內(nèi),使用echo方法世攜輸出數(shù)組中的索引值和對應(yīng)的數(shù)組值即可。
當(dāng)前題目:php分批遍歷數(shù)據(jù) php遍歷結(jié)果集
網(wǎng)站URL:http://jinyejixie.com/article6/ddpehog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、電子商務(wù)、做網(wǎng)站、定制開發(fā)、品牌網(wǎng)站制作、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(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)