【问题标题】:connect arrays into one将数组连接成一个
【发布时间】:2015-12-21 13:56:45
【问题描述】:

如何将第一个数组 [ONE}:转换为第二个数组 [TWO},我可以在其中调用 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'
    ...

)

【问题讨论】:

  • 你在使用php框架吗?

标签: php arrays join


【解决方案1】:

你可以使用array_reduce:

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

【讨论】:

    【解决方案2】:

    只需遍历数组并将值写入新数组中

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

    【讨论】:

      猜你喜欢
      • 2021-09-20
      • 1970-01-01
      • 2021-11-01
      • 2012-01-07
      • 1970-01-01
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      相关资源
      最近更新 更多