Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组\u计数\u值之后排序数组_Php_Arrays_Sorting - Fatal编程技术网

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
)