从排序数组 PHP 返回键的顺序
Retun order of keys from sorted array PHP
我在 PHP 中有一个数组,就像这样
$somevar = array(1, 5, 2, 7, 17, 2, 13);
我想对数组进行排序,但不想移动值,所以我得到另一个数组,顺序为 index/keys。
所以我的新数组应该是这样的
{0, 2, 5, 1, 3, 6, 4}
按键的顺序是什么
这应该适合你:
<?php
$somevar = array(1, 5, 2, 7, 17, 2, 13);
$newArray = array_values($somevar);
asort($newArray);
$newArray = array_keys($newArray);
print_r($newArray);
?>
输出:
Array ( [0] => 0 [1] => 2 [2] => 5 [3] => 1 [4] => 3 [5] => 6 [6] => 4 )
试试这个..
$somevar = array(1, 5, 2, 7, 17, 2, 13);
print_r($somevar);
//your array
Array ( [0] => 1 [1] => 5 [2] => 2 [3] => 7 [4] => 17 [5] => 2 [6] => 13 )
asort($somevar);
print_r($somevar);
//After sort
Array ( [0] => 1 [2] => 2 [5] => 2 [1] => 5 [3] => 7 [6] => 13 [4] => 17 )
print_r(array_keys($somevar));
//array key sorted array
Array ( [0] => 0 [1] => 2 [2] => 5 [3] => 1 [4] => 3 [5] => 6 [6] => 4 )
我在 PHP 中有一个数组,就像这样
$somevar = array(1, 5, 2, 7, 17, 2, 13);
我想对数组进行排序,但不想移动值,所以我得到另一个数组,顺序为 index/keys。
所以我的新数组应该是这样的
{0, 2, 5, 1, 3, 6, 4}
按键的顺序是什么
这应该适合你:
<?php
$somevar = array(1, 5, 2, 7, 17, 2, 13);
$newArray = array_values($somevar);
asort($newArray);
$newArray = array_keys($newArray);
print_r($newArray);
?>
输出:
Array ( [0] => 0 [1] => 2 [2] => 5 [3] => 1 [4] => 3 [5] => 6 [6] => 4 )
试试这个..
$somevar = array(1, 5, 2, 7, 17, 2, 13);
print_r($somevar);
//your array
Array ( [0] => 1 [1] => 5 [2] => 2 [3] => 7 [4] => 17 [5] => 2 [6] => 13 )
asort($somevar);
print_r($somevar);
//After sort
Array ( [0] => 1 [2] => 2 [5] => 2 [1] => 5 [3] => 7 [6] => 13 [4] => 17 )
print_r(array_keys($somevar));
//array key sorted array
Array ( [0] => 0 [1] => 2 [2] => 5 [3] => 1 [4] => 3 [5] => 6 [6] => 4 )