激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

服務器之家 - 編程語言 - PHP教程 - 淺談PHP中foreach/in_array的使用

淺談PHP中foreach/in_array的使用

2020-11-29 14:11PHP教程網 PHP教程

本文給大家簡單總結了一下PHP中foreach以及in_array的使用,包括在使用中常遇到的問題等信息,非常的實用,有需要的小伙伴可以參考下。

php在開發效率很高,這是無可厚非的,但是卻是在犧牲執行效率的。php數組功能非常強大,但是也要多加考慮,多試幾種情況情況,以防萬一,這里,我就簡單的說兩個遇到的坑,以后如果有發現更多的,再補上吧!

  foreach 提供了遍歷數組的簡單方式,可以很方便的讀取到數據或對象的內容,但是官方文檔說了,由于 foreach 依賴內部數組指針,在循環中修改其值將可能導致意外的行為。所以,基本上,
1、不要想在循環內部修改里面的值,否則結果將超出你想要的;
2、使用'&'是一個安全的方式,雖然很少用到,但是在用到時,在引用結束后,應立即調用unset函數銷毀該變量,否則,在接下來的代碼里,如果有再次使用到此變量,那么循環的最后一次值就將被修改了,從而得到了意外的值,比如:在列表循環輸出時,最后一行輸出將會出現許多亂七八糟的值或者空值。使用unset可解決此問題。

我們來看個示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
/*-------------------------------------------------------------------------*/
/* foreach example 1: value only */
echo "foreach example 1: value only ".'<br />';
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
echo "Current value of ".$a.":". $v."<br />";
}
?>
// 運行結果
foreach example 1: value only
Current value of $a: 1
Current value of $a: 2
Current value of $a: 3
Current value of $a: 17

  in_array,其含義是檢查前一個字符串是否存在于后一個數組當中,而且大多數情況下,它也是這么工作的,但是當后面的數組是整數時,如array(0,1,2,3)時,就出問題了,php會將前的字符串進行intval,從而都會得到0這個值,那么如果恰巧,你的數組當中有這個值,那么等式就成立了,是不是又超出了預期呢?
所以,當確定后面的數據是整數時,尤其是還有可能為0(這個可能代替所有的字符串了),你就千萬不能再使用這個函數了,可使用key_exists來代替,但是后面的數據則需要使用array_flip進行倒轉操作了。

我們再來看個示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function search($keyWord, $stack) {//此處判斷是應該更新還是插入
 
      foreach ($stack as $key => $val) {
 
        if (in_array($keyWord, $val)) {
 
          return TRUE;
 
        }
 
      }
 
      return FALSE;
 
    }

  當一個字符串被當作數組來去取值時,又會發生什么呢?php是一門容錯性很強的語言,它會盡量幫你改正錯誤,所以很聰明地將你的引用下標轉化為整數,當然就得到0了,那么字符串下標為0取值則又會得到第一個字符串的值,是不是又超出了你的預期呢?解決方法是,在引用下標之前,還是確認一下這個變量是不是一個數組吧,is_array。

  雖然有許許多多的前輩遇到這樣或那樣的問題,也在不停地說,但是我們終究還是免不了,不停去犯錯。這也許就是社會吧!大家都這么忙,哪有時間去破解你那爛代碼! 哈哈

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 羞羞电影在线观看 | 午夜久久久精品一区二区三区 | 在线观看麻豆 | 天天夜干| 91免费视频版 | 日韩av片在线免费观看 | 国产精品二区高清在线 | 美国一级毛片片aa久久综合 | 精品亚洲视频在线观看 | 日本免费a∨ | 伊人久久电影网 | 欧美精品一区二区视频 | 中文字幕免费看 | 午夜91视频 | 欧美黑人一级 | 色网站免费观看 | 99亚洲精品| 九色在线78m | 免费观看黄视频 | 久久激情小视频 | 久久精品一二三区白丝高潮 | 欧美aaaaa一级毛片在线 | 新久草视频 | 国产高清在线观看av | 久久精品黄 | 精品一区二区在线观看视频 | 久久精品无码一区二区三区 | 91精品国产一区二区三区四区在线 | 国产免费最爽的乱淫视频a 午夜精品久久久久久久99热浪潮 | 精品久久久久久久久久中出 | 有色视频在线观看 | 欧美高清一级片 | 97人操| 国产99久久久久久免费看 | 国产精品亚洲三区 | 日韩字幕在线 | 一本色道久久综合亚洲精品图片 | 爱操影视 | 国产精品99久久久久久大便 | 欧美精品一区二区三区久久久 | 欧美羞羞视频 |