在php或mysql中使用内部数组排序数组
发布时间:2020-12-13 17:14:59 所属栏目:PHP教程 来源:网络整理
导读:我有一个像这样的数组, 数组[0] [0],[1] [0],[2] [0]是问题,数组[0] [1],[1] [1],[2] [1]是答案的问题. 现在我想根据答案的数量对这个数组进行排序. 第一个问题只有一个答案和 第二个有两个答案,第三个有三个答案. 排序的数组应该按照该问题的答案数降序排列
我有一个像这样的数组,
数组[0] [0],[1] [0],[2] [0]是问题,数组[0] [1],[1] [1],[2] [1]是答案的问题. Array ( [0] => Array ( [0] => Array ( [0] => 12 [1] => 110 [2] => Tom [3] => Tom@gmail.com [4] => Hello tom how are you? [5] => 2013-01-03 14:54:07 ) [1] => Array ( [0] => Array ( [0] => 12 [1] => Yes i am fine. [2] => Arun [3] => arun@gmail.com [4] => 2013-01-03 14:55:22 ) ) ) [1] => Array ( [0] => Array ( [0] => 12 [1] => 110 [2] => Tom [3] => Tom@gmail.com [4] => Hello tom how are you. [5] => 2013-01-03 14:54:07 ) [1] => Array ( [0] => Array ( [0] => 12 [1] => Yes i am fine [2] => Arun [3] => arun@gmail.com [4] => 2013-01-03 14:55:22 ) [1] => Array ( [0] => 12 [1] => Yes i am fine [2] => Arun [3] => arun@gmail.com [4] => 2013-01-03 14:55:22 ) ) ) [2] => Array ( [0] => Array ( [0] => 12 [1] => 110 [2] => Tom [3] => Tom@gmail.com [4] => Hello tom how are you. [5] => 2013-01-03 14:54:07 ) [1] => Array ( [0] => Array ( [0] => 12 [1] => Yes i am fine [2] => Arun [3] => arun@gmail.com [4] => 2013-01-03 14:55:22 ) [1] => Array ( [0] => 12 [1] => Yes i am fine [2] => Arun [3] => arun@gmail.com [4] => 2013-01-03 14:55:22 ) [2] => Array ( [0] => 12 [1] => Yes i am fine [2] => Arun [3] => arun@gmail.com [4] => 2013-01-03 14:55:22 ) ) ) 解决方法
这应该工作:
function cmp($a,$b) { return count($a[1]) > count($b[1]) ? -1 : 1; } usort($data,'cmp'); 或者,如果您使用的是PHP 5.3.0或更高版本,则可以使用: usort($data,function ($a,$b) { return count($a[1]) > count($b[1]) ? -1 : 1; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |