如何使用更快的方法将arsort数组的结果放入数组?
我有这个:
Array
(
[a] => 32389
[o] => 25534
)
我想这样:
Array
(
[1] => array
([0] => 'a',
[1] => '32389')
[2] => array
([0] => 'o',
[1] => '25534')
)
我这样做:
$words = [];
foreach($words as $key=>$value) {
$words[] = [$k, $v];
}
它有效,但在我的arsort之后,我想if(foreach($ words as $ key => $ value)是更好/更快的方法来执行这个任务或者如果有另一个方法/函数用php ?
答案 0 :(得分:1)
$a = [ 'a' => 32389, 'o' => 25534 ];
$b = [];
foreach($a as $k => $v) {
$b[] = [$k, $v];
}
print_r($b);
<强>输出:强>
Array
(
[0] => Array
(
[0] => a
[1] => 32389
)
[1] => Array
(
[0] => o
[1] => 25534
)
)
答案 1 :(得分:1)
容易做到: -
<?php
$data = Array
(
'a' => 32389,
'o' => 25534
);
$new_data = array();
foreach ($data as $key=>$value){ // iterate through your original array
$new_data[] = array($key,$value); // assign key and value array to new array
}
echo "<pre/>";print_r($new_data); // print new array
?>
输出: - https://eval.in/556504
根据您的问题,这是最好的解决方案(其他人也使用相同的东西)。在上述循环工作中也无论速度如何。
答案 2 :(得分:1)
<?php
$array = array('a' => 32389, 'o' => 25534);
$result = array();
foreach($array as $k => $v) {
$result[] = array($k, $v);
}
var_dump($result);
?>
检查出来。
答案 3 :(得分:1)
你的代码几乎就在那里。
$words_extract = array(
'a' => 32389,
'o' => 25534
);
$words = array();
foreach($words_extract as $k => $v) {
$words[] = array($k, $v);
}