1

私がこのような配列を持っている場合:

array(
    "unknownString" => 34, //unknown number
    "anotherString" => 32,
    "asdf" => 21
);

どうすればこれに変換できますか?

array(
    array("unknownString", 34),
    array("anotherString", 32),
    array("asdf", 21)
);
4

2 に答える 2

5

これは機能するはずです:

$array = array(
    "unknownString" => 34, //unknown number
    "anotherString" => 32,
    "asdf" => 21
);

$new_array = array();
foreach( $array as $key => $value) {
    $new_array[] = array( $key, $value);
}

必要に応じて、次を使用することもできますarray_walk()

$new_array = array();
array_walk( $array, function( $el, $key) use( &$new_array){ 
   $new_array[] = array( $key, $el); 
});
于 2012-07-13T18:39:17.990 に答える
0

これは、以下を使用したわずかに異なるバージョンarray_mapです。

function swap($value, $key) {
   return array( $key, $value );
}
$arr = array(
    "unknownString" => 34, //unknown number
    "anotherString" => 32,
    "asdf" => 21
);

print_r(array_map('swap', $arr, array_keys($arr)));
于 2012-07-13T18:48:07.897 に答える