按键值参数过滤数组

时间:2015-02-16 02:49:47

标签: php arrays

我有一个数组:

  $data = array(
      array('title'=>'test','rendor'=>0),
      array('title'=>'test2','rendor'=>1)
  );

当rendor为1时,我正在寻找的是使用其中一个数组函数返回标题键值;

目前正在做:

    $tmp = array();
    $deadTmp = array();
    foreach($tmpCols as $col){          
        if((int)$col['rendor'] !== 0){
            $tmp[] = $col;
        } else {
            $deadTmp[] = $col['title'];
        }
    }

我正在尝试学习数组函数。

1 个答案:

答案 0 :(得分:0)

array_reduce会:

$titles = array_reduce($data, function (array $titles, array $datum) {
    if ($datum['rendor'] == 1) {
        $titles[] = $datum['title'];
    }
    return $titles;
}, []);

可替换地:

$titles = array_map(
    function ($datum) { return $datum['title']; }, 
    array_filter($data, function ($datum) { return $datum['render'] == 1; }
);