根據(jù)你的語(yǔ)義描述可以用這樣的方法來(lái)查詢
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、定邊ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的定邊網(wǎng)站制作公司
$arr?=?["1111111","12345","qwe"];
$result?=?[];
foreach?($arr?as?$val){
$result[]?=?$tail_fibers-distinct?(?true?)-where("type='$val'")-select();
}
不知道你用的是哪個(gè)SQL組件,但是大體都會(huì)提供類似?-whereIn('type',$arr) 這樣的方法,等于直接用SQL的IN語(yǔ)句進(jìn)行多個(gè)值查詢,效率更高
SQL IN 操作符
echo get_all($arr); function get_all($arr){ $count = count($arr); for($i=0;$i$count;$i++){ if(is_array($arr[$i])){//判斷是否為數(shù)組 get_all($arr[$i]); }else{ echo $arr[$i]; } } }
今天有個(gè)朋友問(wèn)我一個(gè)問(wèn)題php遍歷數(shù)組的方法,告訴她了幾個(gè)。順便寫個(gè)文章總結(jié)下,如果總結(jié)不全還請(qǐng)朋友們指出
第一、foreach()
foreach()是一個(gè)用來(lái)遍歷數(shù)組中數(shù)據(jù)的最簡(jiǎn)單有效的方法。
?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í)候有人也在問(wèn)這幾種遍歷數(shù)組的方法哪個(gè)更快捷些呢,下面做個(gè)簡(jiǎn)單的測(cè)試就明白了
===========
下面來(lái)測(cè)試三種遍歷數(shù)組的速度
===========
一般情況下,遍歷一個(gè)數(shù)組有三種方法,for、while、foreach。其中最簡(jiǎn)單方便的是foreach。下面先讓我們來(lái)測(cè)試一下共同遍歷一個(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
/';
?
測(cè)試結(jié)果:
Used
time
of
for:0.0228429(s)
Used
time
of
while:0.0544658(s)
Used
time
of
foreach:0.0085628(s)
經(jīng)過(guò)反復(fù)多次測(cè)試,結(jié)果表明,對(duì)于遍歷同樣一個(gè)數(shù)組,foreach速度最快,最慢的則是while。從原理上來(lái)看,foreach是對(duì)數(shù)組副本進(jìn)行操作(通過(guò)拷貝數(shù)組),而while則通過(guò)移動(dòng)數(shù)組內(nèi)部指標(biāo)進(jìn)行操作,一般邏輯下認(rèn)為,while應(yīng)該比f(wàn)oreach快(因?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簡(jiǎn)單,而且效率高。在PHP5下,foreach還可以遍歷類的屬性。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
foreach 語(yǔ)法結(jié)構(gòu)提供了遍歷數(shù)組的簡(jiǎn)單方式。foreach 僅能夠應(yīng)用于數(shù)組和對(duì)象,如果嘗試應(yīng)用于其他數(shù)據(jù)類型的變量,或者未初始化的變量將發(fā)出錯(cuò)誤信息。有兩種語(yǔ)法:
foreach
(array_expression
as
$value)
statement
foreach
(array_expression
as
$key
=
$value)
statement
第一種格式遍歷給定的 array_expression 數(shù)組。每次循環(huán)中,當(dāng)前單元的值被賦給 $value 并且數(shù)組內(nèi)部的指針向前移一步(因此下一次循環(huán)中將會(huì)得到下一個(gè)單元)。
第二種格式做同樣的事,只除了當(dāng)前單元的鍵名也會(huì)在每次循環(huán)中被賦給變量 $key。
范例:
$a = array( "one" = 1, "two" = 2, "three" = 3, "seventeen" = 17);foreach ($a as $k = $v) { echo "\$a[$k] = $v.\n";}
網(wǎng)站題目:php遍歷數(shù)組提取數(shù)據(jù),php遞歸函數(shù)遍歷數(shù)組
本文鏈接:http://chinadenli.net/article48/dsshjep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、、網(wǎng)站導(dǎo)航、微信小程序、小程序開發(fā)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)