mesclar dois arrays, merge-sort style

Suponha que eu tenha dois arrays:

$a1 = array(0,1,2);
$a2 = array(3,4,5);

Eu quero ser capaz de fazer uma mesclagem que alterna os arrays e não concatená-los. Eu quero esse resultado:

array(0,3,1,4,2,5);

Existe uma maneira nativa de fazer isso como o desempenho é um problema aqui desde que eu preciso fazer isso milhares de vezes

Por favor note, eu sei que posso fazer assim:

for (var $i = 0; $i < count($a1); $i++) {
    newArray[] = $a1[$i];
    newArray[] = $b1[$i];
}

Eu estou procurando um construído no caminho se houver um mais rápido

questionAnswers(1)

yourAnswerToTheQuestion