如何按如下方式转换数组



我有一个数组

[
[
'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);

希望这能解决你的问题。有任何疑问,请告诉我

最新更新