2017-01-17 23 views

回答

2

從php.net array_search()函數的文檔,

返回針的關鍵如果在數組中,否則爲FALSE。

現在到了你的問題:

爲什麼它找不到零?

是的,它確實找到了。看下面的行,

if(array_search('0', $My_Array)){ ... 

在這種情況下array_search()函數將返回0這是元件'0'的陣列中的索引。也正因爲如此,在if塊將得到執行這樣的:

if(0){ ... 

基本上計算爲false,這意味着控制轉移,即使它找到元素'0'數組中else塊。

所以解決時,更改以下列方式您if塊:

if(array_search('0', $My_Array) !== false){ 
+0

呃!...我太蠢了...我應該看到:/ ...我實際上正在使用它,就像從我有這個代碼的地方往下走了大約10行.... 0_o – Creeperstanson

+0

它正在返回密鑰[0] – Creeperstanson

+0

@Creeperstanson是的,這是正確的。 –

2

array_search - 檢索給定值的數組,並返回,如果成功

這裏的關鍵是0.如果(0)中錯誤的結果,因此它顯示沒有找到 第一個對應的按鍵。 PHP是做什麼它聲稱要做

+0

呃!...我太蠢了...我應該看到:/ – Creeperstanson