2012-05-21 246 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

谢谢,它的工作原理是这样的 –