0

我需要创建一个数组数组。
我一直array_map(null,$a,$b,$c)在这样做,它工作正常,但是,如果其中一个映射数组不存在,它就不起作用。

为了解决这个问题,我使用了:

$myArray= array();
if (isset($a)) {
    array_push($myArray,$a);
}
if (isset($b)) {
    array_push($myArray,$b);
}
if (isset($c)) {
    array_push($myArray,$c);
}

有没有更优雅/更短的方法来写这个?
我尝试通过应用一些功能,array_map($function,$a,$b,$c)但没有运气。

4

2 回答 2

4
$myArray = array_filter(array($a, $b, $c));
于 2009-11-02T01:17:27.570 回答
0

您可以使用以下功能:

function joinArrays(){
  $arrays = func_get_args();
  $output = array();
  foreach($arrays as $array){
     if(!empty($array)) array_push($output, $array);
  }
  return $output;
}

像这样调用:joinArrays($a, $b, $c, etc..);

于 2009-11-02T01:16:37.530 回答