【发布时间】:2017-11-25 22:22:40
【问题描述】:
有一个关联数组:
Array
(
[tableData] => Array
(
[0] => Array
(
[booking_name] => abc/xyz/123
[user_area] => ls reca
[release] => oss72
[start_date] => 2017-06-20 00:00:00
[end_date] => 2017-06-23 00:00:00
[asset_info] => Array
(
[0] => Array
(
[status] => 10
[manufacturer] => HP
[model] => HP BL460C GEN8
[hardware_color] => #0066b3
)
)
[full_name] => Valay Desai
[email_address] => valay@xyz.com
)
............,
[500] => Array()
)
)
我使用array_map 从另一个对象($filtered_array))获取属性名称。
$filteredColumns = array_map(function($item){
return $item['attribute'];
}, $filtered_array);
由此我得到以下输出:
Array
(
[0] => booking_name
[5] => asset_info
[6] => full_name
[7] => start_date
)
这里的键不按顺序排列。而asset_info 是另一个关联数组。
$filteredData = [];
foreach ($tableData as $key => $row) {
$filteredData[$key] = array_filter($filteredColumns, function($item) use ($row){
$intersect = array_intersect_assoc((array)$item, (array)$row);
return (count($intersect)) === count($row);
});
}
但是得到了空白数组作为输出。
我如何只返回带有键名的主大关联数组,我用array_map 得到它?如何返回包含仅与某些键匹配的项目的主数组(500 个项目)?
【问题讨论】:
-
我可以知道投反对票的原因吗?
-
你能举个输入输出的例子吗?