这是我用来创建循环数据时在数组中不存在的键的方式:
$array = [];
foreach ($results as $result) {
if (!isset($array[$result->id])) {
$array[$result->id] = [];
}
$array[$result->id][] = $result->value;
}
一位在职的同事做了以下事情。 PHP没有错误,但我不确定它是PHP的一个功能还是不正确:
$array = [];
foreach ($results as $result) {
$array[$result->id][] = $result->value;
}
上述情况对我来说不正确吗?
答案 0 :(得分:3)
如果你输入代码的条件是不必要的。让我解释。
if (!isset($array[$result->id])) {
$array[$result->id] = [];
}
这意味着如果$array[$result->id]
不存在而不是您将其定义为数组,则$array[$result->id][]
如果不存在则自行创建新数组而不会抛出任何错误。所以不需要使用if条件错误。总之,两个代码都是正确的,只是你正在使用不必要的if条件。