PHP中的多维数组转换为一维数组

3

我正在使用PHP编程,所以我有一个像这样的数组。从这个数组中,我想要筛选出user_id并将它放到另一个数组中,如下所示。

Array
(
    [0] => Array
        (
            [user_id] => 66
            [distance] => 0
        )

    [1] => Array
        (
            [user_id] => 68
            [distance] => 0
        )

    [2] => Array
        (
            [user_id] => 81
            [distance] => 0
        )

    [3] => Array
        (
            [user_id] => 65
            [distance] => 0.00010218008081861118
        )

)

我希望得到一个这样的数组,
$user_id=array(66,68,81,65);
2个回答

6

使用array_column()

从输入数组中返回表示单个列的值数组。

<?php

$user_array = array(
                  0 => array('user_id' => 1, 'name' => 'Bob'),
                  1 => array('user_id' => 2, 'name' => 'John'),
                  2 => array('user_id' => 3, 'name' => 'Mary')
              );

$users = array_column($user_array, 'user_id');

print_r($users);

输出:

Array
(
   [0] => 1
   [1] => 2
   [2] => 3
)

每天学点新东西!甚至不知道这个函数的存在。 - Alex
2
这就是编程的美妙之处,总是能不断发现新事物。^_^ - Ataur Rahman

5

其中$array是您上面提供的多维数组:

$data = array();
foreach ($array as $item) {
    $data[] = $item['user_id'];
}
print_r($data);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接