从另一个数组的空间元素创建数组

时间:2014-11-26 19:53:05

标签: php arrays

我有这样的阵列:

[0] => Array
        (
            [meta_id] => 24674
            [post_id] => 798
            [meta_key] =>pr_no
            [meta_value] => 00649
        )

    [1] => Array
        (
            [meta_id] => 24653
            [post_id] => 796
            [meta_key] => pr_no
            [meta_value] => 00645
        )
etc.

如何创建一个只包含meta_values的数组。像:

Array(0=>00649, 1=>00645, 2+>00644)

2 个答案:

答案 0 :(得分:2)

如果您正在使用PHP> = 5.5.0,那么还有额外有用的array_column功能!

 $newArray = array_column($array, 'meta_id');

如果您仍然使用旧版本的PHP,请查看上面链接中的注释以获取解决方法。

答案 1 :(得分:0)

像这样:

$meta_values = array();

foreach($arrays AS $array){
  foreach($array AS $key => $value) {
    if($key == "meta_value"){
      array_push($meta_values, $value);
    }
  }       
}

此函数将遍历现有数组,查找任何meta_value个键。当它找到一个时,它会将该键的值推送到一个新数组中。

编辑:

错过了2D数组,这意味着你必须做一个嵌套的foreach。