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 に答える