有人能帮我吗?我尝试按内部数组的长度(降序)对二维数组进行排序。
此数组:
Array
(
[0] => Array
(
[0] => "a"
)
[1] => Array
(
[0] => "a"
[1] => "b"
[2] => "c"
)
[2] => Array
(
[0] => "a"
[1] => "b"
)
)
应该会产生这个排序的数组:
Array
(
[0] => Array
(
[0] => "a"
[1] => "b"
[2] => "c"
)
[1] => Array
(
[0] => "a"
[1] => "b"
)
[2] => Array
(
[0] => "a"
)
)
你有提示吗?
是的,使用usort
按元素的count()
排序。
<?php
header("Content-type: text/plain");
$array = array(
array(
"item1" => "key1",
"item2" => "key2",
),
array(
"item1" => "key1",
"item2" => "key2",
"item3" => "key3"
),
array(
"item1" => "key1",
)
);
usort($array, function($el1, $el2) {
if (count($el1) === count($el2)) {
return 0;
}
return count($el1) < count($el2) ? 1 : -1;
});
print_r($array);
// Comparison function
function cmp($a, $b) {
$ca = count($a);
$cb = count($b);
if($ca == $cb)
return 0;
return ($ca < $cb ) ? -1 : 1;
}
// Sort the array
uasort($array, 'cmp');
尝试编写一个Python函数:def compare_lengths(x,y,z) 它接受三个数组作为参数,检查它们的长度,并按长度顺序将它们作为三个数组返回。 例如,如果函数接受[1,2,3]、[10,20,30,40]和[65,32,7]作为输入,则希望它返回([1,2,3]、[65,32,7]、[10,20,30,40])或([65,32,7]、[1,2,3]、[10,20,30,40])
问题内容: 我正在尝试根据内部数组中的特定值对我的PHP哈希表进行排序。数据结构如下所示: 我已经尝试过 ksort , sort , usort, 但是似乎没有任何作用。我正在尝试根据 名称键 向下两级进行排序。 这是我尝试使用usort的尝试: 有没有简单的方法可以做到这一点,或者我需要编写一个自定义排序功能? 问题答案: 思考,更有用和实用的 如何使用
问题内容: 我有2d数组,尺寸为3x10,我想按从低到高的第二行中的值进行排序。 问题答案: Python本身没有“ 2d数组”-它具有(1d)内置列表,以及(1d)标准库模块array中的数组。有第三方库,例如它确实提供了Python的使用多维数组,当然你会提这样的第三方库,如果你是“Python中的”使用其中的一部分,而不是只是说, 正确的 ? -) 因此,我假设“ 2d数组”是指列表列表,例
问题内容: 我已将CSV数据加载到多维数组中。这样,每个“行”都是一条记录,每个“列”都包含相同类型的数据。我正在使用下面的功能加载我的CSV文件。 我需要能够指定要排序的列,以便重新排列行。其中一列包含格式为的日期信息,我希望能够以最新日期为第一行进行排序。 问题答案: 您可以使用array_multisort() 尝试这样的事情: 对于PHP> = 5.5.0,只需提取列进行排序即可。无需循环
问题内容: 我做了一个字谜游戏机,并且有一系列正面匹配。麻烦的是它们都以不同的顺序排列,我希望能够对数组进行排序,以使最长的数组值首先出现。 有人对如何执行此操作有任何想法吗? 问题答案: 使用http://us2.php.net/manual/en/function.usort.php 使用此自定义功能 如果要保留旧索引,请使用uasort;如果您不关心,请使用usort。 另外,我认为我的版本
问题内容: 请原谅我这是多余的还是超基本的。我要从R进入Python / Numpy,并且很难在脑海里翻转事物。 我有一个维数组,我想使用索引值的另一个n维数组进行排序。我知道我可以将其包装成一个循环,但是似乎应该有一种非常简洁的Numpyonic方式将其击败并提交。这是设置n = 2的问题的示例代码: 所以现在我有一个2 x 5的随机数数组和2 x 5的索引。我已经阅读了约10次帮助,但显然我的