簡體   English   中英

array_key_exists無法正常工作

[英]array_key_exists not working correctly

運行:Windows / Apache上的PHP 5.6.7

如果要搜索的鍵(針)是要搜索的數組(干草堆)中的最后一個元素,則“ array_key_exists”函數不會返回正確的結果。

echo phpversion();  echo  "<br>";
var_dump($modulepriv_ass);  echo  "<br>";  var_dump($uploadpriv_ass);  echo  "<br>";

foreach($modulepriv_ass as $menuid) {
  $fileuppriv = 0;                           echo $menuid  ;
  if (array_key_exists($menuid, $uploadpriv_ass)){
    $fileuppriv = 1;                        echo  " T";
  }                                               echo  "<br>";

}

這是產生的輸出:

5.6.7
array(10) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" [5]=> string(1) "6" [6]=> string(1) "7" [7]=> string(1) "8" [8]=> string(1) "9" [9]=> string(2) "10" }
array(5) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" }
1 T
2 T
3 T
4 T
5
6
7
8
9
10

顯然,鍵“ 5”旁邊應該有一個“ T”。 有人可以幫忙嗎?

不,不應該。 array_key_exists檢查是否存在 ,而不是值。 $uploadpriv_ass數組的最后一個鍵是4,並將5的傳遞給array_key_exists 由於未設置$uploadpriv_ass[5] ,因此不會得到“ T”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM