我无法正确理解PHP中的多维数组。我有一个包含两列的CSV文件,如下所示:
我正在尝试创建一个数组数组,其中每个键都是 cataegory 。但是,每个键的值是一个数组。在此数组中,每个键都是 company ,value是产品的计数。见下面的代码:
var_dump($products)
我注意到days = [{date:'2017-8-1'},{date:'2017-8-2'},{date:'2017-8-3'},{date:'2017-8-5'},{date:'2017-8-6'},{date:'2017-8-7'},{date:'2017-8-8'},{date:'2017-8-9'}]
const isWeekend = day => (
[6, 0].includes(new Date(day.date).getDay())
);
const separate = (days) => {
const weekends = [];
const weekdays = [];
days.forEach((day) => {
isWeekend(day) ? weekends.push(day) : weekdays.push(day);
});
return { weekends, weekdays };
};
console.log(separate(days));
没有显示更正信息。我期待以下结果:
答案 0 :(得分:2)
我没有足够的声誉回复,但我认为他需要重视。
要完成Alive to Die的答案,更多类似的事情:
if (!array_key_exists($category, $products)) {
products[$category] = [];
}
if (!array_key_exists($company, $products[$category])) {
products[$category][$company] = 0;
}
++$results[$cataegory][$company];
但更清洁;)
编辑:
如果我记得很清楚,他的第一个想法就是:
$products[$category][] = $company;
代码更短。也许你可以结合这两个想法。