- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这是我的代码:
$numbers = array(10, 100, 100, 0);
$names = array("Alex", "Jane", "Amanda", "Debra");
array_multisort($numbers, $names);
print_r($numbers);
print_r($names);
以上代码输出:
Array
(
[0] => 0
[1] => 10
[2] => 100
[3] => 100
)
Array
(
[0] => Debra
[1] => Alex
[2] => Amanda
[3] => Jane
)
为什么第二个数组的排序不正确?如果它是正确的,谁能解释它是如何正确的?
谢谢。
最佳答案
是的,这是正确的。您以错误的方式使用了 PHP 的“array_multisort”函数。它不会对两个数组进行排序,但会对第一个数组进行排序,第二个数组将按照与第一个数组相对应的顺序进行定位。
$numbers 排序前:
(
[0] => 10
[1] => 100
[2] => 100
[3] => 0
)
排序后:
(
[0] => 0 (position before sorting - 3rd)
[1] => 10 (position before sorting - 0)
[2] => 100 (position before sorting - 2 or 1)
[3] => 100 (position before sorting - 2 or 1)
)
因此,第二个数组不会排序,但会根据第一个数组定位其元素。
(
[0] => Debra --in first array 3rd element has moved to 0th position
[1] => Alex -- in first array 0th element has moved to 1st position
[2] => Amanda -- in first array 2nd element has moved to 2nd position
[3] => Jane -- in first array 1st element has moved to 3rd position
)
关于PHP array_multisort 没有正确排序第二个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45272616/
我正在尝试使用 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) 获
我是一名优秀的程序员,十分优秀!