按相同对象的数量排序PHP数组
发布时间:2020-12-13 21:36:57 所属栏目:PHP教程 来源:网络整理
导读:无论如何以这种方式订购阵列?例如,如果我有这个数组: $array = array("foo","bar","item","foo","foo"); 而且我想订购它以便它是“foo”,“foo”,“item”,“bar”有没有办法做到这一点? 解决方法 这会吗? $array1 = array_count_values($array);arsort(
无论如何以这种方式订购阵列?例如,如果我有这个数组:
$array = array("foo","bar","item","foo","foo"); 而且我想订购它以便它是“foo”,“foo”,“item”,“bar”有没有办法做到这一点? 解决方法
这会吗?
$array1 = array_count_values($array); arsort($array1); var_dump($array1); 会给你 array(3) { ["foo"]=> int(3) ["item"]=> int(2) ["bar"]=> int(1) } 或者你是否一定需要它们作为重复值?如果是的话,你可以选择以下内容: usort($array,create_function('$a,$b','return $GLOBALS["array1"][$a]<$GLOBALS["array1"][$b];')); 这是丑陋的代码,但演示了这种技术.使用php 5.3关闭也很容易让它看起来很好看,但我不知道你是否在使用5.3.这看起来像这样: $acount=array_count_values($array = array("foo","foo")); usort($array,function($a,$b) use ($acount) { return $acount[$a]<$acount[$b]; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |