排序第二级数组

时间:2013-11-07 09:30:34

标签: php arrays sorting multidimensional-array

我有这个数组:

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]

4 个答案:

答案 0 :(得分:2)

使用usort()

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

答案 1 :(得分: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'); 

答案 2 :(得分:0)

也许这对你有用:

ksort($array);

答案 3 :(得分: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);  

   }