PHP数组重新排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP数组重新排序相关的知识,希望对你有一定的参考价值。
arr":["q":"aaa","w":"bbb","o":"1",
"q:"ccc","w":"ddd","o":"8",
"q":"eee","w":"fff","o":"4",
"q":"ggg","w":"hhh","o":"2"]
将如上数组按照键名"o"升序排序
变成如下样子:
arr":["q":"aaa","w":"bbb","o":"1",
"q":"ggg","w":"hhh","o":"2",
"q":"eee","w":"fff","o":"4",
"q:"ccc","w":"ddd","o":"8"]
array_multisort 对多个数组或多维数组进行排序 排序的依据可以是自定义,完全可以用一个一维数组去排序多维数组.
$arrSort = [];foreach($arr as $info)
$arrSort[] = $info['o'];
sort($arrSort);
array_multisort($arrSort, $arr);
array_multisort
你研究一下.这个是完全可行的.
追问看了半天 也没用明白。输出的结果一直是false。
参考技术A 首先来说,你这个是个json 需要先转化成数组在进行二维数组排序可以用usort追问恩。那将这个转换成数组之后。用usort()或者是asort()都可以我知道。可是 教程里都是array("Bill"=>"60","Steve"=>"56","Mark"=>"31");这样的数组 我的那样的应该怎么写呢
PHP递归重新排序无限级分类数组
public static function Menus($id,$spac=0){
/* $data = array( 1 => array(‘id‘ => 1,‘name‘ => ‘name1‘,‘pid‘ => 0),
2 => array(‘id‘ => 2,‘name‘ => ‘name2‘,‘pid‘ => 0),
3 => array(‘id‘ => 3,‘name‘ => ‘name3‘,‘pid‘ => 1),
4 => array(‘id‘ => 4,‘name‘ => ‘name4‘,‘pid‘ => 0),
5 => array(‘id‘ => 5,‘name‘ => ‘name5‘,‘pid‘ => 3),
6 => array(‘id‘ => 6,‘name‘ => ‘name6‘,‘pid‘ => 3),
);*/
$menu = Menu::model()->findAll();
$arr = array();
// $arr = array_push($arr,$arr);
foreach ($menu as $k => $v) {
if ($v[‘parent_id‘] == $id) {
// $arr[] = $v;
//$v[‘id‘] =str_repeat(‘ ‘,$spac) .$v[‘name‘];
// $str .= "<option value=‘" . $v[‘id‘] . "‘>" . str_repeat(" ",$spac) . "|--" . $v[‘name‘] . "</option>";
// self::Menus($v[‘id‘],$spac);
$arr[] = $v;
$arr = array_merge($arr,self::Menus($v[‘menu_id‘])); //递归合并数组
}
}
// print_r($arrs);
return $arr;
}
以上是关于PHP数组重新排序的主要内容,如果未能解决你的问题,请参考以下文章
PHP按二维数组中的某个值重新排序数组 usort的使用方法