将多维数组转换为一维数组php


converting a multidimensional array to a single dimension array php

在经历了类似的问题后,我找不到与我的场景相匹配的问题。我有$artists_temp数组,类似

Array
(
    [0] => Array
        (
            [ID] => 109
            [post_title] => Junoon
        )
    [1] => Array
        (
            [ID] => 135
            [post_title] => Linkin Park
        )
)

我已经完成了代码,使阵列像

Array
(
    [109] => Junoon
    [Junoon] => 
    [135] => Linkin Park
    [Linkin Park] => 
)

所需内容类似

Array
(
    [109] => Junoon
    [135] => Linkin Park
)

这是代码

$artists_temp = $wpdb->get_results($query, ARRAY_A);
$artists = array();
foreach ($artists_temp as $key => $value) {
    foreach ($value as $k => $v) {
        $artists[$v] = next($value);
        //unset(next($value)) This doesn't work.
    }
}
print_r($artists);

PHP>=5.5.0 array_column()或使用array_column()的PHP实现:

$artists = array_column($artists_temp, 'post_title', 'ID');

由于您使用的是WordPress,请查看:wp_list_pluck():

$artists = wp_list_pluck($artists_temp, 'post_title', 'ID');

您也可以进行

$artists = array();
foreach ($artists_temp as $array) {
    $artists[$array['ID']] = $array['post_title'];
}