php小白数组求解 根据某一个键值重新排序数组 给分100 急!!!

sinat_30659463 2015-08-17 12:23:01
这样一个json数组
[ {"id":"1","name":"21g","dis":"33"},
{"id":"2","name":"21g","dis":"22"},
{"id":"3","name":"21g","dis":"3"},
{"id":"4","name":"21g","dis":"5"},
{"id":"5","name":"21g","dis":"12"}]
需要根据dis从小到大排序成
[{"id":"3","name":"21g","dis":"3"},
{"id":"4","name":"21g","dis":"5"},
{"id":"5","name":"21g","dis":"12"},
{"id":"2","name":"21g","dis":"22"},
{"id":"1","name":"21g","dis":"33"}]

求步骤详情 在线等 急!!!
...全文
184 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
周南卷耳 2015-08-26
  • 打赏
  • 举报
回复
默默写了个冒泡排序

$s =<<< TXT
[ {"id":"1","name":"21g","dis":"33"},
  {"id":"2","name":"21g","dis":"22"},
  {"id":"3","name":"21g","dis":"3"},
  {"id":"4","name":"21g","dis":"5"},
  {"id":"5","name":"21g","dis":"12"}]    
TXT;
$a = json_decode($s, true);
for ($i=0; $i < 5 ; $i++) { 
	for ($k=4; $k>$i ; $k--) { 
		if ($a[$k]['dis']<$a[$k-1]['dis']) {
			$temp = $a[$k];
			$a[$k] = $a[$k-1];
			$a[$k-1] = $temp;
		}
	}
}
print_r($a);
xuzuning 2015-08-17
  • 打赏
  • 举报
回复
$s =<<< TXT
[ {"id":"1","name":"21g","dis":"33"},
  {"id":"2","name":"21g","dis":"22"},
  {"id":"3","name":"21g","dis":"3"},
  {"id":"4","name":"21g","dis":"5"},
  {"id":"5","name":"21g","dis":"12"}]    
TXT;
$a = json_decode($s, true);
foreach($a as $v) $r[] = $v['dis'];
array_multisort($r, $a);
echo json_encode($a);
[{"id":"3","name":"21g","dis":"3"},{"id":"4","name":"21g","dis":"5"},{"id":"5","name":"21g","dis":"12"},{"id":"2","name":"21g","dis":"22"},{"id":"1","name":"21g","dis":"33"}]
sinat_30659463 2015-08-17
  • 打赏
  • 举报
回复
谢谢谢谢!! 已经弄好了!

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧