使用fatser方法将arsort数组的结果放入数组中

时间:2016-04-19 19:34:12

标签: php arrays

如何使用更快的方法将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 ?

4 个答案:

答案 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);
?>

Eval.in

检查出来。

答案 3 :(得分:1)

你的代码几乎就在那里。

$words_extract = array(
    'a' => 32389,
    'o' => 25534
);

$words = array();
foreach($words_extract as $k => $v) {
    $words[] = array($k, $v);
}