出于某种原因,当我使用foreach循环遍历数组时,条件无法将键与字符串进行比较。我的数组有两个索引,第一个是整数,第二个是字符串。
$firmas[] = $credito['acreditado'];
$firmas['cbi'] = "LIC. MARCELA SOTO ALARCÓN";
当循环发现当时的键是字符串1时,我想做其他事情,但出于某种原因,当我评估整数索引时,结果为真。
foreach($firmas as $key => $firma){
var_dump($key);
var_dump($key=='cbi');die();
}
输出
int(0) bool(true)
但是正如你可以看到条件正在寻找字符串'cbi'所以结果应该是整数索引为false而字符串为true。
这里发生了什么?
答案 0 :(得分:2)
在PHP中,所有字符串都等于0
,但不等同于它。尝试使用===
而不是==
。
附录:所有不以数字开头的字符串等于0
。