我有一个具有以下结构的多维数组:
$arr[0][0] = 1.24;
$arr[0][1] = 5.21;
$arr[0][2] = 2.72;
$arr[0][3] = 1.89;
$arr[0][4] = 4.62;
$arr[1][0] = 3.45;
$arr[1][1] = 5.61;
$arr[1][2] = 2.62;
$arr[1][3] = 1.12;
$arr[1][4] = 1.35;
这个数组应该在保持$arr[0]和$arr[1]的子顺序的同时进行排序,所以结果看起来像这样:
$arr[0][0] = 1.24;
$arr[1][0] = 3.45;
$arr[0][1] = 5.21;
$arr[0][2] = 2.72;
$arr[0][3] = 1.89;
$arr[0][4] = 4.62;
$arr[1][2] = 2.62;
$arr[1][3] = 1.12;
$arr[1][4] = 1.35;
$arr[1][1] = 5.61;
我不在乎结果以何种形式保存,但我需要键和值。希望你能理解并帮助我。
循环外部数组并对内部数组进行排序怎么样?
foreach ($arr as $id => $data) {
sort($data);
$arr[$id] = $data;
}
$arr[0][0] = 1.24;
$arr[0][1] = 5.21;
$arr[0][2] = 2.72;
$arr[0][3] = 1.89;
$arr[0][4] = 4.62;
$arr[1][0] = 3.45;
$arr[1][1] = 5.61;
$arr[1][2] = 2.62;
$arr[1][3] = 1.12;
$arr[1][4] = 1.35;
$size = count($arr);
$outArr= array();
foreach($arr[0] as $key =>$value)
{
$resArr = array();
for($i = 0 ; $i< $size ; $i++)
{
$resArr[] = $arr[$i][$key] ;
}
sort($resArr);
$outArr[$key] = $resArr;
}
echo "<pre>";
print_r($outArr);
检查这是否是一个更接近的解决方案。