1

出于某种原因,当我使用 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”,因此整数索引的结果应该为假,字符串的结果应该为真。

这里发生了什么事?

4

1 回答 1

2

在 PHP 中,所有字符串都等于0,但不等于它。尝试使用===而不仅仅是==.

附录:所有不以数字开头的字符串都等于0

于 2012-05-21T21:54:35.933 回答