gpt4 book ai didi

php - 这种奇怪的 PHP 行为的原因是什么?

转载 作者:可可西里 更新时间:2023-11-01 13:15:15 24 4
gpt4 key购买 nike

我有以下代码:

$data = array(); // prep array
$data['aardvark'] = true;

print_r($data); // output array
echo "\n";
var_dump(in_array('zebra', $data));

输出如下:

Array
(
[aardvark] => 1
)

bool(true)

尽管 zebra 显然不在数组中。看起来这与 PHP 的松散类型系统有关。 (bool) 'zebra'true,并且数组中有一个 true 所以 in_array 返回 true?

我想我能看出其中的逻辑,但它有缺陷。这是 PHP 错误吗?

干杯。

最佳答案

不是错误。你完全正确。要正确找到您要查找的内容,您必须这样做:

if (in_array('zebra', $data, true)) {

尽管在同一数组(字符串和 bool 值)中存储不同数据类型的情况可能很少见。如果您存储的数据不是列表,您很可能应该使用对象。

关于php - 这种奇怪的 PHP 行为的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8246770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com