从多维数组中获取特定键值对

Joh*_*ult 5 php

我有以下数组:

array(2) {
  [0] => array(3) {
    ["submission_id"] => int(28)
    ["date"] => string(22) "2010-10-18 15:55:33+02"
    ["user_id"] => int(12)
  }
  [1] => array(3) {
    ["submission_id"] => int(37)
    ["date"] => string(22) "2010-11-21 16:02:07+01"
    ["user_id"] => int(23)
  }
Run Code Online (Sandbox Code Playgroud)

我想从这个数组中只获取user_id键值.我显然可以循环它,但我想知道是否有更快的方法.

Fel*_*ing 17

您可以使用array_map(可能不会更快,因为它将为每个数组元素进行函数调用):

function getUserId($a) {
    return $a['user_id'];
}

$user_ids = array_map('getUserId', $array);
Run Code Online (Sandbox Code Playgroud)

除此之外,循环是唯一的方法(array_map无论如何都是循环).

  • 谢谢!我的建议(PHP> 5.3):`$ user_ids = array_map(function($ row){return $ row ['user_id'];},$ array);` (4认同)

Rih*_*rds -3

如果您知道要访问的数组索引,则只能访问 user_id 值,如下所示:

$arr = your array here..
echo $arr[0]['user_id'];
echo $arr[1]['user_id'];
Run Code Online (Sandbox Code Playgroud)