Php 在数组\u计数\u值之后排序数组
我有一系列的产品Php 在数组\u计数\u值之后排序数组,php,arrays,sorting,Php,Arrays,Sorting,我有一系列的产品 $products = array_count_values($products); 现在我有了一个数组,$key是产品编号,$value是多少 很多次我在阵列中有这样的产品。 我想对这个新阵列进行排序,使产品的“重复项”最少 首先,但无论我使用什么(rsort,krsort,…)我都会丢失产品 数字(键) 有什么建议吗 谢谢。作为(以及该系列函数)的替代方案,请看一看 通常,php.net上的“”页面可能对您有用-它是根据排序内容、排序方向以及排序时是否维护键对php数组排
$products = array_count_values($products);
现在我有了一个数组,$key是产品编号,$value是多少
很多次我在阵列中有这样的产品。
我想对这个新阵列进行排序,使产品的“重复项”最少
首先,但无论我使用什么(rsort,krsort,…)我都会丢失产品
数字(键)
有什么建议吗
谢谢。作为(以及该系列函数)的替代方案,请看一看
通常,php.net上的“”页面可能对您有用-它是根据排序内容、排序方向以及排序时是否维护键对php数组排序函数的比较
请注意,为了完成任务: 现在我有了一个数组,$key是产品编号,$value是我在数组中拥有这样一个产品的次数。我想对这个新阵列进行排序,使“重复项”最少的产品排在第一位,您可能需要(挂件)
您的注释示例,使用asort():
$arr = array(
1 => 3,
2 => 2,
5 => 3,
9 => 1
);
asort($arr);
print_r($arr);
收益率:
Array
(
[9] => 1
[2] => 2
[1] => 3
[5] => 3
)
您要使用:
此函数用于对数组进行排序,以使数组索引与与其关联的数组元素保持相关性。这主要用于对实际元素顺序重要的关联数组进行排序时
无论如何,
rsort()
从一开始就是错误的(任何其他包含r
(反向)的排序函数也是错误的),因为它将数组从最高到最低排序
asort()
从最低到最高排序:
注意:这些函数将数组排序。它们不返回排序数组。返回值为: (..)成功时为
TRUE
,失败时为FALSE
尝试使用或或任何其他您应该使用PHP函数;
asort-递增排序(从低到高)
也许试试
dsort-降序(从高到低)asort()
是数组排序,而不是升序排序
dsort
不存在。您正在寻找的函数是arsort()
-数组反向排序
Hi thanx为了快速回复,我检查了arsort(),但没有返回所需的结果任何建议???@Umerlik:只是确保我理解你的意思:你用
rsort()
(键除外)得到正确的结果,但不是用arsort()
?arsort()
从最高到最低排序,但OP要求从最低到最高。因此asort()
是正确的函数。@Felix Kling:是的,这也是我的第一个假设,但重点是丢失的钥匙。”无论我使用什么(rsort、krsort等),我都会丢失产品编号(键)”。所以我想我应该提及家庭和解决钥匙丢失问题的一般方法,而不是关注可能是错误的问题。但你是对的。@pinkgothic:我的意思是,我只是猜测OP的意思是不返回所需的结果。也可能是别的东西;)+对于asort()
,我将提供一个非常漂亮、彻底的解释,以及一些注意事项。
<?php
$array = array('f'=>1, 'a'=>2, 'c'=>5);
asort($array);
print_r($array);
Array
(
[f] => 1
[a] => 2
[c] => 5
)