我有一个包含我需要的数据的对象数组。
以下是数组中的示例对象:
$obj->category = 'foo';
$obj->date = '2015-01-14';
$obj->value = 'some value';
我想将$ obj->类别作为主键,然后我想要$ obj-> date到类别数组中的键。
我希望数组看起来像这样:
Array
(
[foo] => Array
(
[2015-01-14] => 'some value'
[2015-01-15] => 'some value'
)
[bar] => Array
(
[2015-01-14] => 'some value'
[2015-01-15] => 'some value'
)
[baz] => Array
(
[2015-01-14] => 'some value'
[2015-01-15] => 'some value'
)
)
如何以整洁的方式创建和填充数组?
---编辑---
我试过了:
$keys = ('foo', 'bar', 'baz');
foreach ($objects as $object) {
foreach ($keys as $key) {
$array[$key] = array($object->date => $object->category);
}
}
哪个几乎有效,问题是密钥被覆盖,所以我最终只有一个日期。
答案 0 :(得分:1)
<?php
$output = array();
foreach ($array as $object) {
$output[$object->category][$object->date] = $object->value;
}
答案 1 :(得分:1)
你可以循环这个:
$array[$obj->category][$obj->date] = $obj->value;
仅供参考,您花了更多时间格式化问题,而不是自己谷歌搜索。