如何使用PHP创建现有数组的子部分?

| 我知道这可能是一个非常简单的问题,但我环顾四周,大多数答案都与数组交集有关,这不是我想要的。 例: 我有一个数组($ rows)。当运行
print_r($rows)
时,我得到:
Array (
  [0] => Array (
    [id] => 184
    [0] => 184
    [name] => Advantage Membership
    [1] => Advantage Membership
    [flag] => 4
    [2] => 4
  )
  [1] => Array (
    [id] => 238
    [0] => 238
    [programname] => Package 2
    [1] => Package 2
    [flag] => 5
    [2] => 5
  )
) 
我本质上想创建一个\'sub \'数组,该数组包含$ rows数组中的所有\'flag \'字段,以便于然后使用另一个值执行if(in_array())语句。 理想结果数组如下所示:
$array2 = array( \'4\', \'5\' )
然后,我可以运行以下命令并感到高兴:
if (in_array(4, $array2)) ...
有什么建议么?     
已邀请:
        自定义功能有什么问题?
function in_sub_array($needle, $ary){
  foreach ($ary as $a){
    if (isset($a[\'flag\']) && $a[\'flag\'] == $needle) // could use ===, too.
      return true;
  }
  return false;
}

if (in_sub_arry(4,$array2)) ...
或者,正如其他人所建议的那样,ѭ5是一个很好的选择。
function get_flags($ary){
  return (isset($ary[\'flag\']) ? $ary[\'flag\'] : null);
}

if (in_array(4,array_map(\'get_flags\',$array2))) ...
两种方法的演示     
        
function flagit($n)
{
    return $n[\'flag\'];
}

$flags = array_map(\"flagit\", $array);
    

要回复问题请先登录注册