增加php中多维数组的值

时间:2017-08-28 10:56:17

标签: php multidimensional-array

我无法正确理解PHP中的多维数组。我有一个包含两列的CSV文件,如下所示:

enter image description here

我正在尝试创建一个数组数组,其中每个键都是 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));没有显示更正信息。我期待以下结果: enter image description here

1 个答案:

答案 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;

代码更短。也许你可以结合这两个想法。