PHP:将关联数组的键和值传递到一行(连续)中的新数组中,而不使用foreach


PHP: Pass an associative arrays keys and values into a new array in a row (consecutive) without foreach

有没有比使用foreach循环进行这样的转换更简单的方法?

$assoc = ['keyA' => 'valA', 'keyB' => 'valB', 'keyC' => 'valC'];
$new = ['keyA', 'valA', 'keyB', 'valB', 'keyC', 'valC'];

使用array_walk

$assoc = ['keyA' => 'valA', 'keyB' => 'valB', 'keyC' => 'valC'];
$new = [];
$callback = function($v, $k) use (&$new) {
    $new[] = $k;
    $new[] = $v;
};
array_walk($assoc, $callback);
print_r($new);

输出:

阵列([0]=>键A[1] =>valA[2] =>键B[3] =>valB[4] =>键C[5] =>valC)

参考编号:http://php.net/manual/en/function.array-walk.php