美文网首页
PHP 二维多维数组,指定元素做排序

PHP 二维多维数组,指定元素做排序

作者: wyc0859 | 来源:发表于2019-06-23 19:51 被阅读0次

值做了指定排序,但键会改变

<?php
$data = array(
=> array(
        'age' => 22,
        'name' => 'aa'
    ),
=> array(
        'age' => 21,
        'name' => 'bb'
    ),
=> array(
        'age' => 27,
        'name' => 'cc'
    )
);
//根据字段age对数组$data进行升序排列 
$ages = array_column($data, 'age');   //注意$data不能是对象,需是数组
array_multisort($ages, SORT_ASC, $data); 
print_r($data);

值做了指定排序,键也不会改变

$data = arraySort($data, "age", "desc" );
var_dump($data);

function arraySort($arr, $keys, $type = 'asc')
{
    $keysvalue = $new_array = array();
    foreach ($arr as $k => $v) {
        $keysvalue[$k] = $v[$keys];
    }
    $type == 'asc' ? asort($keysvalue) : arsort($keysvalue);
    foreach ($keysvalue as $k => $v) {
        $new_array[$k] = $arr[$k];
    }
    return $new_array;
}

相关文章

网友评论

      本文标题:PHP 二维多维数组,指定元素做排序

      本文链接:https://www.haomeiwen.com/subject/phuwqctx.html