我想按相反的值对数组进行排序。我使用了arsort php函数,但结果对我不利。
例:
我想对下一个数组进行排序:
myArray = array("d" => 1, "f" => 2, "b" => 3, "c" => 4, "e" => 2);
使用arsort php函数后,结果是:
myArray =array ( "c" => 4, "b" => 3, "e" => 2, "f" => 2, "d" => 1 );
这不好,因为arsort函数不能保持数组中元素的初始顺序。
我想要这样的结果:
myArray =array ( "c" => 4, "b" => 3, "f" => 2, "e" => 2, "d" => 1 );
e之前的f,例如来自原始数组的f。具有相同值的键不能反转。
谢谢。
参考方案
编辑:
内置函数无法做到这一点,您需要实现自己的排序解决方案。您可以按照此question I opened了解更多信息。
这些解决方案有效的巧合是:
$myArray = array("d" => 1, "f" => 2, "b" => 3, "c" => 4, "e" => 2);
uasort($myArray, function($a, $b){
if($a == $b)
return 1;
else
return $b - $a;
});
print_r($myArray);
要么
$myArray = array("d" => 1, "f" => 2, "b" => 3, "c" => 4, "e" => 2);
uasort($myArray, function($a, $b){
return $a <= $b;
});
print_r($myArray);
PHP-复选框组 - php我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…
PHP Count数组元素 - php嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…
PHP:将数据从二维数组复制到一维数组的最快方法 - php我有一个巨大的二维PHP数组,带有500万行。$t = [ [ "id" => 1, "name" => "foo" ], [ "id" => 2, "name" => "bar" ] ]; 现在,我必须将此数组的I…
PHP:从函数返回值并直接回显它? - php这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…
php-printf和sprintf具有不同的输出 - php我编写了以下微型php程序来测试printf和sprintf:<?php $str_1 = printf("%x%x%x", 65, 127, 245); $str_2 = sprintf("%x%x%x", 65, 127, 245); echo $str_1 . "\n"; echo $s…