我有一个数组
[
[
'title' => 'title0',
'data' => 'data0'
],
[
'title' => 'title1',
'data' => 'data1'
]
]
我需要得到输出
[
'title' => ['title0','title1'],
'data' => ['data0', 'data1']
]
请告诉我该怎么做?
你没有表现出任何尝试,但我很无聊。只需循环第一个子数组中的键并提取该列。无需知道密钥是什么:
foreach(array_keys(reset($array)) as $key) {
$result[$key] = array_column($array, $key);
}
你也可以这样做:
foreach(reset($array) as $key => $val) {
$result[$key] = array_column($array, $key);
}
或者,如果它像这两个已知的密钥一样简单:
$result = ['title' => array_column($array, 'title'),
'data' => array_column($array, 'data')
];
你可以这样做
<?php
$shortedArray = [
'title' => [],
'data' => []
];
$mainArray = [
[
'title' => 'test0',
'data' => 'data0'
],
[
'title' => 'test1',
'data' => 'data1'
]
];
// Loop thru it
foreach($mainArray as $row){
$shortedArray['title'][] = $row['title'];
$shortedArray['data'][] = $row['data'];
}
print_r($shortedArray);
希望这能解决你的问题。有任何疑问,请告诉我