- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在理解 array_multisort 时遇到一些问题
看看当两个值相同时它是如何排序的:
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
上面代码的输出将是:
Array ( [0] => Cat [1] => Dog [2] => Dog )
Array ( [0] => Missy [1] => Fido [2] => Pluto )
让我知道为什么 Missy 排在第一位,如果你通过提升它一定是 数组([0] => Fido,[1] => Missy,[2] => Pluto)对于下降反之亦然
也看到了这个
带排序参数:
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,SORT_ASC,$a2,SORT_DESC);
print_r($a1);
print_r($a2);
上面代码的输出将是:
Array ( [0] => Cat [1] => Dog [2] => Dog )
Array ( [0] => Missy [1] => Pluto [2] => Fido )
但是 Array ( [0] => Missy [1] => Pluto [2] => Fido ) 不在 SORT_DESC 是某种类型的混淆。
谁能给我解释一下 array_multisort 是如何工作的,这样我就能理解它是如何工作的。
最佳答案
好吧,您正在以类似于 Excel 等程序的方式对数组进行排序。每个数组对应一列。
首先,所有数组都按给定的第一个数组排序。如果存在相同的值,则受影响的值按给定的第二个数组排序。如果再次有相等的值,则使用第三个数组,依此类推。
或者换句话说:数组使用所有数组排序,但从右边开始(如果您假设它真的按所有列排序一次)。
对于您的特定示例(第二个):
首先您想按升序排序,因此 Cat
将排在第一位。因此,最后一个数组元素将移动到两个数组中的第一个位置。其他两个元素 Dog
是相等的。这会导致函数查看下一个数组。它被告知要按降序对这个数组进行排序,因此 Pluto
排在第一位。在这种情况下,这会导致元素根本没有移动(因为它们的顺序已经正确)。
关于php - php array_multisort 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9093664/
我正在尝试使用 array_multisort 函数对多维数组进行排序 我期望多维数组使用 $sort 中的值对自身进行排序。$sort 与我的多维数组的体积元素有关。 我希望名称元素按以下顺序排列:
我第一次尝试使用 array_multisort 函数,但它没有像我预期的那样工作。我真的希望有人能帮助我。这是我的问题: 我确实有一个包含 7 列的表格。我想通过单击列名对其中的 4 个进行排序。我
这个问题在这里已经有了答案: How can I sort arrays and data in PHP? (14 个答案) 关闭 6 年前。 我可以对多维数组进行排序,但不保留数字索引关联。 如何
我使用 array_multisort 完成了一些任务功能。在编写脚本的过程中,我执行了一个var_dump,并根据 PHP 版本得到了不同的 $mainArray 结果。这是代码: $mainArr
这个问题在这里已经有了答案: array_multisort with maintaining numeric index association [duplicate] (2 个答案) 关闭 6
这个问题在这里已经有了答案: How can I sort arrays and data in PHP? (14 个答案) 关闭 6 年前。 找不到正确的函数来对多维数组进行排序,如下所示: Ar
这是我的代码: $numbers = array(10, 100, 100, 0); $names = array("Alex", "Jane", "Amanda", "Debra"); array_
php 中array_multisort() 函数可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。本文章向大家讲解array_multisort函数的使用方法。  
例如像下面的数组: 复制代码 代码如下: $users = array( array('name' => 'tom',
1、先看最简单的情况。有两个数组: $arr1 = array(1,9,5); $arr2 = array(6,2,4); array_multisort($arr1,$arr2); print_
函数 bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR [,
我有一个数组: $arr = [ [ "t1" => ["sum" => 3], "t2" => ["sum"
这个问题已经有答案了: Sort array using array_multisort() with dynamic number of arguments/parameters/rules/dat
我在理解 array_multisort 时遇到一些问题 看看当两个值相同时它是如何排序的: $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fi
尝试按 memnum 升序对下面的数组进行排序,但我有点困惑哪个更好用……usort 还是 array_multisort?我在想 usort 因为它是多维的?有没有人有这方面的例子? Array (
我有以下数组: $array = array( 'note' => array(), 'year' => array('2011','2010', '2012'),
我正在使用 yii 框架并使用 CArrayDataProvider 因为我的数据提供者包含 3 个表。但是如果我在其中使用 Sort。 $sort = new CSort; $sor
我有 4 个数组并使用 array_multisort 将它们相对于彼此同时排序。 问题是,在第一个数组中,可能有空值,我想将它们放在末尾,而不是开头。 示例:http://codepad.org/V
我正在尝试使用 array_multisort() 在其子数组的基础上对数组进行排序功能...... 在尝试的同时; print_r($mar); echo ''; $arr2 = array_mul
我正在尝试比较 php 中的 2 个 csv 文件,方法是将它们导入多维数组并使用 array_diff 函数找出差异。 我使用的方法是 1) 获取预期 csv 的每条记录并转储到 arr1 2) 获
我是一名优秀的程序员,十分优秀!