2012-05-21 208 views
1

由於某些原因,當我使用foreach循環迭代數組時,條件無法將鍵與字符串進行比較。我的數組有兩個索引,第一個是整數,第二個是字符串。數組鍵比較失敗

$firmas[] = $credito['acreditado']; 
$firmas['cbi'] = "LIC. MARCELA SOTO ALARCÓN"; 

我想要做別的事情,當環發現,在那一刻,關鍵是字符串之一,但由於某些原因,當我評價整數索引的結果是正確的。

foreach($firmas as $key => $firma){ 
      var_dump($key); 
      var_dump($key=='cbi');die(); 
     } 

輸出是

int(0) bool(true) 

但正如你所看到的狀況正在尋找字符串「CBI」這樣的結果應該與該整數指數和真實的字符串錯誤。

這裏發生了什麼?

+1

使用$ key ==='cbi' –

+0

並溝通'die();',現在在第一次迭代後強制停止... – Bart

回答

2

在PHP中,所有字符串都等於0,但不等於它。嘗試使用===而不是==

附錄:不以數字開頭的所有字符串等於0

+0

謝謝,它的工作原理是這樣的 –