【发布时间】:2019-01-05 17:47:28
【问题描述】:
问题
我在使用 PHP 函数 array_key_exists 时遇到问题。即使我的数组有键,该函数也总是返回 false。我想知道使用动态增长的数组是否存在问题。我是 PHP 新手,如果这个问题很烦人,我很抱歉。
预期行为
如果数组有键,我需要 array_key_exists 函数返回 true。
我试图解决的问题
我尝试改用isset(CounterArray[$key]),但没有成功。
我已经阅读了特定功能的 PHP 文档,并且我还检查了有关堆栈溢出的类似问题,但没有一个适合我的情况。我是 可耻地为此花费了大量时间。
代码
$values=[
"a"=>100,
"a"=>100,
"a"=>100,
"b"=>200,
];
$counterArray = array();
foreach ($values as $key => $price) {
if(!array_key_exists( $key , $counterArray))){
$counterArray[$key]=$price;
}else{
$counterArray[$key] += $price;
}
}
【问题讨论】:
-
你不能让数组
$values和相同的键a使用 3 次,因此这个脚本没有条件array_key_exists()应该返回true。 -
您需要将数组更改为您实际拥有的数组。如果我们不知道您的阵列是什么样子,我们将无法回答这个问题。最好使用 var_export 或 json_encode 发布真实数组。如果我们只看到真正的数组,可能会有更快的循环方法。
-
天哪,我太笨了!!!我需要停止加班编码。谢谢@Havenard
标签: php array-key-exists