PHP:合并未知数量的数组

I have one big array structured like this

$array = array(

   [0] => array(
      'labels' => array('a', 'b', 'c', [...]),
      'values' => array('val A', 'val B', 'val C', [...])
   ),

   [1] => array(
      'labels' => array('d', 'e', 'f', [...]),
      'values' => array('val D', 'val E', 'val F', [...])
   ),

   [2] => array(
      'labels' => array([...]),
      'values' => array([...])
   ),

   [...],

   [n]

)

I want to create a new array for every key, like so:

$labels = array('a', 'b', 'c', 'd', 'e', 'f', [...])
$values = array('val A', 'val B', 'val C', 'val D', 'val E', 'val F', [...])

I would normally use array_merge, but I don't know how many arrays I will have.

Is there any way of doing it without looping multiple times ?

Thank you

If you want to do some manipulations before building the final array, consider something like this :

$labels = array();
$values = array();

$r = array_map(function($subArray) use(&$labels, &$values) {

    // do some stuff here, maybe

    $labels = array_merge($labels, $subArray['labels']);
    $values = array_merge($values, $subArray['values']);

}, $array);

Something like:

$labels = call_user_func_array('array_merge', array_column($array, 'labels'));
$values = call_user_func_array('array_merge', array_column($array, 'values'));

perhaps?