对第二级数组进行排序[重复]

问题描述 投票:0回答:4

我有这个数组:

Array
(
    [0] => Array
        (
            [kw] => 46
            [anzahl_betten] => 100
        )

    [1] => Array
        (
            [kw] => 47
            [anzahl_betten] => 100
        )

    [2] => Array
        (
            [kw] => 45
            [anzahl_betten] => 100
        )

)

我想按“kw”顺序对其进行排序。 然后我想用

foreach($array as $output)
遍历数组 并且 kw 45 的阵列应该是
Array[0]

php arrays sorting multidimensional-array
4个回答
2
投票

使用 usort() 来实现:

//$array is your array
usort($array, function($x, $y)
{
   return $x['kw']<$y['kw']?-1:$x['kw']!=$y['kw'];
});

0
投票

也许这对你有用:

ksort($array);

0
投票
function subval_sort($a,$subkey) {
    $c = array();
    $b = array();
    foreach($a as $k=>$v) {
        $b[$k] = strtolower($v[$subkey]);
    }
    asort($b);
    foreach($b as $key=>$val) {
        $c[] = $a[$key];
    }
    return $c;
}

然后

$output = subval_sort($array_name,'kw'); 

0
投票
    $a=array(array('kw'=>46,'anzahl_betten'=>100),array('kw'=>47,'anzahl_betten'=>100),array('kw'=>45,'anzahl_betten'=>100));
sort($a);
foreach($a as $x=>$x_value)
    {
print_r($x_value);  

   }
© www.soinside.com 2019 - 2024. All rights reserved.