php - 对多维数组进行排序

标签 php arrays multidimensional-array key indexing

我需要对一个如下所示的数组进行排序:

$array[4][0] = array('id' => 1, 'value' => 2);
$array[3][2] = array('id' => 0, 'value' => 3);
$array[4][1] = array('id' => 1, 'value' => 0);
$array[1][3] = array('id' => 2, 'value' => 1);
$array[1][1] = array('id' => 3, 'value' => 0);
$array[3][0] = array('id' => 2, 'value' => 1);
$array[3][1] = array('id' => 1, 'value' => 0);
$array[1][2] = array('id' => 3, 'value' => 2);
$array[1][0] = array('id' => 2, 'value' => 1);
$array[2][1] = array('id' => 0, 'value' => 2);
$array[2][4] = array('id' => 3, 'value' => 1);

但需要这样排序和返回:

$array[1][0] = array('id' => 2, 'value' => 1);
$array[1][1] = array('id' => 3, 'value' => 0);
$array[1][2] = array('id' => 3, 'value' => 2);
$array[1][3] = array('id' => 2, 'value' => 1);
$array[2][1] = array('id' => 0, 'value' => 2);
$array[2][4] = array('id' => 3, 'value' => 1);
$array[3][0] = array('id' => 2, 'value' => 1);
$array[3][1] = array('id' => 1, 'value' => 0);
$array[3][2] = array('id' => 0, 'value' => 3);
$array[4][0] = array('id' => 1, 'value' => 2);
$array[4][1] = array('id' => 1, 'value' => 0);

谁能帮帮我?它需要对数组的两个索引从最低索引值到最高索引值进行排序。听起来很简单,但我很难弄清楚这一点,同时仍然保持值不变。

请帮助某人...

最佳答案

快速的'n'dirty 解决方案可能类似于:

// Sort the outer array
ksort($array); 
// Sort each inner array
foreach($array as &$innerArray)
{
    ksort($innerArray);
}

关于php - 对多维数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2543427/

相关文章:

php - 如何清理 PHP 换行符

php - 检查一个数组是否有一个或多个空值

java - 字符串数组如何存储数组?

swift - 使用循环填充多维数组

python - numpy 子类的数组

php - 移动多维数组的元素

php - 如何显示特定的数组组合?

php - 将 BIG mysql 表导出到 JSON

php - 简单的 jquery ajax 错误响应

java - 如何使用for循环提高效率?