按键值参数筛选数组


filter array by key value argument

我有一个数组:

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

我要找的是当rendor为1时,使用其中一个数组函数返回title键值;

目前正在做:

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

我正在努力学习数组函数。

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; }
);