牛骨文教育服务平台(让学习变的简单)
博文笔记

PHP二维数组根据某个字段排序

创建时间:2017-09-28 投稿人: 浏览次数:186
<?php
$arrOrigin = array(
    array(
            "id"   => 1,
            "name" => "Ken",
            "age"  => 15,
    ),
    array(
            "id"   => 2,
            "name" => "Ben",
            "age"  => 25,
    ),
    array(
            "id"   => 3,
            "name" => "Sam",
            "age"  => 31,
    ),
    array(
            "id"   => 4,
            "name" => "Tim",
            "age"  => 26,
    ),
    array(
            "id"   => 5,
            "name" => "Tom",
            "age"  => 65,
    ),
); 

// 排序字段
$field = "age";
// 排序方式,降序和升序
//$sort = "SORT_DESC";
$sort = "SORT_ASC";

$arrSort = array();
foreach($arrOrigin AS $uniqid => $row){
    foreach($row AS $key=>$value){
        $arrSort[$key][$uniqid] = $value;
    }
}

array_multisort($arrSort[$field], constant($sort), $arrOrigin);

print_r($arrOrigin);die;
?>

打印内容:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Ken
            [age] => 15
        )

    [1] => Array
        (
            [id] => 2
            [name] => Ben
            [age] => 25
        )

    [2] => Array
        (
            [id] => 4
            [name] => Tim
            [age] => 26
        )

    [3] => Array
        (
            [id] => 3
            [name] => Sam
            [age] => 31
        )

    [4] => Array
        (
            [id] => 5
            [name] => Tom
            [age] => 65
        )

)

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。