Edited at

連想配列をキーと値のペアの配列にするちょっと気のきいた方法(かも)

More than 3 years have passed since last update.

array (KEY => VALUE)をarray (array(KEY, VALUE))にする方法を思いついたので、さらしあげておきます。

効率はそれほどよくはないと思いますので、話半分で聞いてやっててください。

脊髄反射で思いつくのは、foreachでループをまわすことですが、何か負けた気がします。

phpの配列(連想配列)は順序保障されているため、以下のようにarray_mapを使用し

<?php

$a1 = array(
'a' => 1,
'b' => 2,
'c' => 3,
);

$a2 = array_map(
function ($k, $v) { return array($k, $v); },
array_keys($a1),
array_values($a1)
);

のようにすることで、変換することができます。

7-Jan-2013 追記

上の例のような、単純な配列であれば、コールバック不要とコメント頂きました。ありがとうございます。