0

I need to create an array of arrays.
I have been using array_map(null,$a,$b,$c) to do this and it works fine, however, it doesn't work if one of the mapped arrays doesn't exist.

To get around this problem I have used:

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

Is there a more elegant/shorter method of writing this?
I've tried applying some functions via array_map($function,$a,$b,$c) but with no luck.

2 Answers 2

4
$myArray = array_filter(array($a, $b, $c));
Sign up to request clarification or add additional context in comments.

Comments

0

You could use the following function:

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

call like: joinArrays($a, $b, $c, etc..);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.