今天突然想到php中的in_array函數(shù)有個其怪的用法,下面我們來看看這個用法,有需要的朋友簡單的參考一下,代碼如下:

  1. $a=array("1,2,3","4"); 
  2. if(in_array(1,$a)){ 
  3.  
  4.   echo "條件成立"

這個條件果然是成立的,按照我的思考邏輯上邊的那個條件只有在參數(shù)1的值為”1,2,3“和為4的時候才成立,但是奇怪的是他居然成立了,戰(zhàn)地隨即測試了如下情況,代碼如下:

  1. $a=array("a,2,3","4"); 
  2.  
  3. if(in_array('a',$a)){ 
  4.  
  5.   echo "條件不成立"
  6.  

這個是不成立的,在第一個測試用例下,如果把參數(shù)1寫成’1’條件也是不成立的,得出的結(jié)論是:

在PHP中如果第一個參數(shù)為數(shù)字——不加引號的數(shù)字啊,第二個數(shù)組參數(shù)包含有以該數(shù)字開頭的字符串的話不管第一個參數(shù)是否為第二個參數(shù)的完整元素,都會返回真值,也就是說,in_array函數(shù)并非每次都是按照我的思考邏輯進行整個元素匹配,還是我對數(shù)據(jù)類型認識的不夠清楚呢?

與此同時,還發(fā)現(xiàn)如果你的數(shù)組的第一個元素為0的時候,也會出現(xiàn)問題,看如下情況,代碼如下:

  1. $a=array(0,"m"); 
  2. if(in_array('mc6',$a)) 
  3.  echo "====="
  4. }//開源代碼phpfensi.com
轉(zhuǎn)載請注明來源:php in_array函數(shù)引發(fā)的一些思想

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。