将阵列连接为一个阵列



我如何将第一个数组[ONE}转换为第二个数组[TOW},在那里我可以调用meta_key,然后我得到var:我通过调用指定的sql行得到这个数组,我使用这个查询:$user_data = $wpdb->get_results("SELECT * FROM $wpdb->usermeta WHERE user_id = $fivesdraft->user_id ");可能是在查询中连接它的另一种更好的方法?而不是在PHP 中

Array ONE
(
    [0] => stdClass Object
        (
            [umeta_id] => 16
            [user_id] => 2
            [meta_key] => nickname
            [meta_value] => user1
        )
    [1] => stdClass Object
        (
            [umeta_id] => 17
            [user_id] => 2
            [meta_key] => first_name
            [meta_value] => testname
        )
    [2] => stdClass Object
        (
            [umeta_id] => 18
            [user_id] => 2
            [meta_key] => last_name
            [meta_value] => testlastname
        )
    [3] => stdClass Object
        (
            [umeta_id] => 19
            [user_id] => 2
            [meta_key] => description
            [meta_value] => user desc
        )

)

Array TWO
(
    [nickname] => 'user1'
    [first_name] => 'user desc'
    [last_name] => 'user desc'
    [description] => 'user desc'
    ...
)

您可以使用array_reduced:

$myArray = array_reduce($arrayOne, function ($result, $item) {
    $result[$item->meta_key] = $item->meta_value;
    return $result;
}, array());

只需在数组上循环并将值写入新的数组

$two = array();
foreach ($one as $item) {
    $two[$item->meta_key] = $item->meta_value;
}

最新更新