我有以下数组结构
array (
0 =>
array (
'ID' => '1',
'post_title' => 'Hello world!',
),
1 =>
array (
'ID' => '79',
'post_title' => 'ffffffffffff',
),
2 =>
array (
'ID' => '1720',
'post_title' => 'Git primer',
),
)
我很乐意把它转换成类似下面的结构。是否有任何PHP功能可以做到这一点?我试图避免重复的foreach循环。
array (
'1' => 'Hello world!',
'79' => 'ffffffffffff',
'1720' => 'Git primer',
)
答案 0 :(得分:4)
使用array_column()
来获取此信息。
Array_column()
函数返回您在参数中指定的所有列名。
$array=array (
0 =>
array (
'ID' => '1',
'post_title' => 'Hello world!',
),
1 =>
array (
'ID' => '79',
'post_title' => 'ffffffffffff',
),
2 =>
array (
'ID' => '1720',
'post_title' => 'Git primer',
),
)
$new_array = array_column($array, 'post_title', 'ID');
print_r($new_array);
<强>输出:强>
Array
(
[1] => Hello world!
[79] => ffffffffffff
[1720] => Git primer
)
答案 1 :(得分:0)
这是:
//你的数组
$test = array (
0 =>
array (
'ID' => '1',
'post_title' => 'Hello world!',
),
1 =>
array (
'ID' => '79',
'post_title' => 'ffffffffffff',
),
2 =>
array (
'ID' => '1720',
'post_title' => 'Git primer',
),
);
//解决方案:
foreach ($test as $t){
$new_array[$t['ID']] = $t['post_title'];
}
echo "<pre>";
echo print_r($new_array);
die;
答案 2 :(得分:0)
您可以使用以下
完成此操作array_column($array,'post_title','ID');
输出
Array
(
[1] => Hello world!
[79] => ffffffffffff
[1720] => Git primer
)