如何对数组进行排序?
问题描述:
我想使用asort()
对数组进行排序并限制要返回的元素数。如何对数组进行排序?
我举一个exeample:
$words = array (
["lorem"]=>
int(2)
["sssss"]=>
int(2)
["dolor"]=>
int(4)
["ipsum"]=>
int(2)
["title"]=>
int(1));
与=限= 2我想有回报:
$words = array (
["dolor"]=>
int(4)
["lorem"]=>
int(2));
换句话说,我要进行排序,并只返回第一次发生的依据是$limit
有什么想法吗?
答
不能应用限制ASORT(),但是这是一个解决办法。
<?php
$words = array("Cat", "Dog", "Donkey");
$sorted = asort($words);
$limit = 2;
$final = array();
for ($i = 0; $i <= ($limit - 1); $i++) {
$final[] = $words[$i];
}
var_dump($final);
?>
希望这会有所帮助。
第二个是没有意义的。他想要两个最高的排序顺序元素,而不是排序顺序中的前两个元素。 – Gaminic
是的,谢谢你,删除了不必要的解决方案。 array_slice是一种更好的解决方案。干杯。 –
您的解决方案完全有效且易于理解。 – Gaminic