国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP數組遍歷的幾種常見方式總結

PHP數組遍歷的幾種常見方式總結

2019-06-14 10:27無顛服務器之家 PHP教程

這篇文章主要介紹了PHP數組遍歷的幾種常見方式,結合實例形式總結分析了php數組遍歷相關的循環、指針、數組函數等操作技巧,需要的朋友可以參考下

本文實例講述了PHP數組遍歷的幾種常見方式。分享給大家供大家參考,具體如下:

1、使用for循環遍歷數組

conut($arr);用于統計數組元素的個數。
for循環只能用于遍歷,純索引數組!!!!
如果存在關聯數組,count統計時會統計兩種數組的總個數,使用for循環遍歷混合數組,導致數組越界!!

eg:

$arr = array(1,2,3,5,6,7);
$num = count($arr); //count最好放到for外面,可以讓函數只執行一次
echo "數組元素的個數{$num}<br/>";
for($i=0;$i<$num;$i++){
 echo "{$i}==>{$arr[$i]}<br/>";
}

2、forEach循環遍歷數組

foreach可以遍歷任何類型的數組!!!

eg:

$arr = array(1,2,3,"one"=>4,5,6,7);
foreach($arr as $value){
 echo "{$item}<br>";
}
foreach($arr as $key => $value){
 echo "{$key}==>{$item}<br>";
}

舉個例子解析如下數組:

$h51701 = array(
 "group1"=>array(
  array("name"=>"張三","age"=>14,"sex"=>"男"),
  array("name"=>"張三","age"=>14,"sex"=>"男"),
  array("name"=>"張三","age"=>14,"sex"=>"男")
 ),
 "group2"=>array(
  array("name"=>"張三","age"=>14,"sex"=>"男"),
  array("name"=>"張三","age"=>14,"sex"=>"男"),
  array("name"=>"張三","age"=>14,"sex"=>"男")
 ),
 "group3"=>array(
  array("name"=>"張三","age"=>14,"sex"=>"男"),
  array("name"=>"張三","age"=>14,"sex"=>"男"),
  array("name"=>"張三","age"=>14,"sex"=>"男")
 )
);
foreach ($h51701 as $key => $value) {
 echo "{$key}<br><br>";
 foreach ($value as $key1 => $value1) {
  echo "第".($key1+1)."個同學<br>";
  foreach ($value1 as $key2 => $value2) {
  echo "{$key2}==>{$value2}<br>";
  }
  echo "<br>";
 }
 echo "------------------------<br>";
}

使用list()、each()、while()遍歷數組

(重點)list():用于將數組的每一個值,賦值給list函數的每一個參數。(list函數的參數,必須小于等于數組的元素個數);

eg:list($a,$b,$c)=[1,2,3];-->$a=1; $b=2; $c=3;

注意:
① list()在解析數組時,只解析索引數組;
② list可以通過空參數,選擇性的解析數組的值;

list($a,,$b)=[1,2,3];-->$a=1;  $b=3;

(重點)each():用于返回數組當前指針所在位的鍵值對!并將指針后移一位;

返回值:如果指針有下一位,返回一個數組。包含一個索引數組(0-鍵,1-值)和一個關聯數組("key"-鍵,"value"-值);如果指針沒有下一位,返回false;

eg:

① each($arr) 返回數組或false;
② 把數組或false賦值給$a;
③ while判斷$a如果是數組,繼續執行下一次;

如果$a是false,終止循環

while($a = each($arr)){
 echo "{$a[0]}-->{$a[1]}<br>";
 echo "{$a['key']}-->{$a['value']}<br>";
}

3.使用list()/each()/while()配合遍歷數組

while(list($key,$value) = each($arr)){
  echo "{$key}-->{$value}<br>";
}
reset($arr);

!!!!數組使用each()遍歷完一遍后,指針使用處于最后一位的下一位;即再用each(),始終返回false;

如果還需使用,需用reset($arr);函數,重置數組指針;

eg:

$arr = array(1,2,3,"one"=>4,5,6,7);
foreach($arr as $value){
 echo "{$item}<br>";
}
foreach($arr as $key => $value){
 echo "{$key}==>{$item}<br>";
}
while(true){
  $a = each($arr);
 if($a){
  echo "{$a[0]}-->{$a[1]}<br>";
  echo "{$a['key']}-->{$a['value']}<br>";
 }else{
  break;
 }
}
while(list($key,$value) = each($arr)){
 echo "{$key}-->{$value}<br>";
}
reset($arr);
while(list($key,$value) = each($arr)){
 echo "{$key}-->{$value}<br>";
}

4、 使用數組指針遍歷數組

① next:將數組指針,后移一位。并返回后一位的值;沒有返回false
② prev:將數組指針,前移一位。并返回前一位的值;沒有返回false
③ end:  將數組指針,移至最后一位,返回最后一位的值;空數組返回false
④ reset:將數組指針,恢復到第一位。并返回第一位的值;空數組返回false
⑤ key: 返回當前指針所在位的鍵;
⑥ current:返回當前指針所在位的值;

$arr = [1,2,3,4,"one"=>5];
while(true){
  echo key($arr);
  echo "--";
  echo current($arr);
 echo "<br>";
 if(!next($arr)){
  break;
  }
}
reset($arr);

第二種方式:

do{
  echo key($arr);
  echo "--";
  echo current($arr);
 echo "<br>";
}while(next($arr));
reset($arr);

牛刀小試:

1.遍歷數組:

$subject1 = array("Linux","PHP","MySQL","HTML","CSS","JQuery")

方式一:for循環遍歷

for($i=0;$i<count($subject1);$i++){
   echo $subject1[$i]."<br/>";
}

方式二:使用list()/each()/while()配合遍歷數組

方式一.

while(list($key,$value)=each($subject1)){
 echo "{$key}-->{$value}<br/>";
}

方式二.

while($a=each($subject1)){
 echo $a[0]."=>".$a[1]."<br/>";
}

方式三:forEach循環遍歷

foreach ($subject1 as $key => $value) {
  echo "{$key}-->{$value}<br/>";
}

方式四:指針

do{
  echo key($subject1)."=>".current($subject1)."<br/>";
}while(next($subject1));
echo "<br/>";

2.使用reset(),end(),prev(),next(),key(),current();與do…while組合倒著輸出數組中的值:

$subject2 = array("Linux","PHP","MySQL","HTML","CSS","JQuery")
$subject2 = array("Linux","PHP","MySQL","HTML","CSS","JQuery");
end($subject2);
do{
  echo key($subject2)."=>".current($subject2)."<br>";
}while(prev($subject2));

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 黄色网页在线 | 日韩免费| 亚洲一区二区三区精品动漫 | 久久66| 亚洲日本网站 | 亚洲视频一区 | 亚洲网站在线 | 国产片在线播放 | 国产成人自拍视频在线观看 | 在线播放一区二区三区 | 欧美午夜一区 | 成人在线国产 | 九九热在线视频 | 91麻豆精品国产91久久久更新资源速度超快 | 亚洲电影在线观看 | 国产精品久久久久久久久久东京 | 亚洲精品成人av | 亚洲精品一区二区三区樱花 | 龙珠z国语版291集全 | 玖玖在线 | 91视频导航 | 99精品欧美一区二区三区综合在线 | 黄色美女网站在线观看 | 精品久久国产 | 亚洲精品在线观看av | 国产精品一级 | 秒播av| 91成人精品 | 午夜视频在线观看免费视频 | 永久看片 | 色在线免费观看 | 依人在线免费视频 | 日韩免费高清视频 | 久久午夜综合久久 | 欧美精品成人 | 一区二区在线视频 | 久久懂色精品99综一区合 | 日韩色网 | 成人a视频 | 国产免费av在线 | 精品国产乱码久久久久久1区2区 |