日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > php foreach遍歷數(shù)組用法介紹

php foreach遍歷數(shù)組用法介紹

來源:程序員人生   發(fā)布時間:2014-06-12 21:45:43 閱讀次數(shù):2448次

在php中遍歷數(shù)組有很多方法,foreach、each、list、for等等遍歷數(shù)組語句,但是在這幾種中foreach遍歷數(shù)組性能最好,所以我也常用,下面我來介紹入門者foreach遍歷數(shù)組實例.

語法:

foreach ( array_expression as $key => $value ) statement

實例1代碼如下:

  1.  $color=array('white' => '白色' , 
  2.        'black' => '黑色' , 
  3.        'red' => '紅色' , 
  4.        'green' => '綠色'
  5.        'yellow' => '黃色'); 
  6.  foreach$color as $cecho $c ."
    "
    ;     
  7. ?> 

通過foreach不僅可以獲得元素的值也可以獲得鍵名,結(jié)構(gòu)形式:

實例代碼如下:

  1. foreach$color as $cecho $c ."
    "

  1. foreach$color as $key => $cecho $key.$c ."
    "

這里跟第一種方法的區(qū)別就是多了個$key,也就是除了把當前元素的值賦給$value外,當前元素的鍵值也會在每次循環(huán)中被賦給變量$key.鍵值可以 是下標值,也可以是字符串.比如book[0]=1中的"0",book[id]="001"中的"id".

下面來仔細探討下foreach使用中的一些問題.

普通情況下,foreach($arr as $value)中的$arr和$value是拷貝,不受外部影響的.

實例代碼如下:

  1. $arr = array(0,1,2,3,4,5); 
  2. foreach($arr as $value){ 
  3.  $arr = array(); 
  4.  echo $value; 
  5. // 12345 

但如果$arr是引用的話,情況則不同了,我們用代碼來說明問題

實例代碼如下:

  1. $arr = array(0,1,2,3,4,5); 
  2. $arr = &$arr
  3. foreach($arr as $value){ 
  4.  $arr = array(); 
  5.  echo $value
  6. // 0 

這是因為循環(huán)用的$arr是直接指向原數(shù)據(jù)的,而不是copy了一份.如果$value是引用,而$arr不是引用,其結(jié)果是一樣的,同樣$value是指向原數(shù)據(jù)的而不是copy.

實例代碼如下:

  1. $arr = array(0,1,2,3,4,5); 
  2. foreach($arr as &$value){ 
  3.  $arr = array(); 
  4.  echo $value
  5. // 結(jié)果是: 0 

還有一種情況比較特殊,即是如果定義了$arr為全局變量的話,$arr也會變成引用:

實例代碼如下:

  1. global $arr
  2. $arr = array(0,1,2,3,4,5); 
  3. foreach($arr as $value){ 
  4.  $arr = array(); 
  5.  echo $value
  6. // 結(jié)果是: 0 

如果兩次循環(huán)一個數(shù)組,一定不能這樣寫

實例代碼如下:

  1. foreach($arr as &$value){} 
  2. foreach($arr as $value){} 

這會導(dǎo)致第二次的循環(huán)的結(jié)果不正確(可能是php的bug吧).可以用以下幾種來代替

實例代碼如下:

  1. //solution 1 
  2. foreach($arr as &$value){} 
  3. unset($value); 
  4. foreach($arr as $value){} 
  5. //solution 2 
  6. foreach($arr as &$value){} 
  7. foreach($arr as &$value){} 
  8. //solution 3 
  9. foreach($arr as &$value){} 
  10. $arr2 = $arr
  11. foreach($arr2 as $value){} 

防止foreach出現(xiàn)未定義情況,盡量這樣來寫foreach

實例代碼如下:

  1. foreach((array)$arr as $value) {} 

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 黄色一级片免费的 | 中文字幕亚洲一区二区三区 | 91新网站 | 久草av在线播放 | 99精品电影 | 国外成人在线视频网站 | 狠狠操狠狠操 | 午夜特黄| 久久久久久久国产 | 亚洲综合无码一区二区 | 国产欧美精品区一区二区三区 | 999精品视频一区二区三区 | 欧美黑人xxxxx | 日本在线不卡视频 | 成人精品一区二区三区电影黑人 | av片在线观看| 嫩草影院在线观看视频 | 亚洲一区二区三区精品视频 | 国产精品免费大片 | 操女人逼网站 | 国产黄色在线播放 | 最近免费观看电影大全在线观看 | 天天干,夜夜操 | 成人在线精品 | 欧美国产精品一区二区三区 | 另类 欧美 日韩 国产 在线 | 91丨九色丨国产在线 | 欧美77777 | 午夜精品久久久久久毛片 | 中文自拍 | 香蕉成人在线 | 久久精品国产色蜜蜜麻豆 | 欧美一区二区性 | 男男做性免费视频网 | 亚洲欧美日韩精品久久亚洲区 | 午夜国产在线 | 欧美一区二区视频在线观看 | 日本在线不卡视频 | av片免费观看 | 亚洲一区二区三区中文字幕 | uu天堂|