Как отсортировать значения 2D массива в порядке возрастания в PHP?

Это мой основной код PHP. С только для цикла, и я хочу отсортировать это с помощью цикла только.

<?php
//this is my 2-d array
$arr=array(array(5,9),
array(7,1),
array(3,2),
array(6,4),
array(2,8));

/*my basic for loop concept*/
for($k=0;$k<count($arr);$k++)//for loop for key
{
for($v=0;$v<count($arr[$k]);$v++)//for loop for value
{
for($i=0;$i<5;$i++)//for loop to iterate
{
for($j=0;$j<3;$j++)//for loop to iterate
{
print_r($arr[$k][$v].'<br>');
if($arr[$k][$v] > $arr[$i][$j])
{
$temp = $arr[$k][$v];
$arr[$k][$v]=$arr[$i][$j];
$arr[$i][$j] = $temp;
print_r($arr[$i][$j].'<br>');
}
}
}

}
}
?>

-3

Решение

Я надеюсь, что это поможет вам:

<?php
//this is my 2-d array
$arr=array(array(5,9),
array(7,1),
array(3,2),
array(6,4),
array(2,8));

for($i=0;$i<count($arr);$i++){
array_multisort($arr[$i], SORT_ASC);
}
print_r($arr);
?>
0

Другие решения

Вы можете использовать функцию array_multisort () PHP

Для вашего кода решения будут не использовать цикл.

<?php
$arr=array(array(5,9),
array(7,1),
array(3,2),
array(6,4),
array(2,8));

array_multisort($arr, SORT_ASC);     // For ascending
array_multisort($arr, SORT_DESC);       // For Descending
print_r($arr);
?>

Если вы также хотите отсортировать подмассив, вы можете использовать цикл и вызывать функцию array_multisort (), например:

array_multisort($arr[$index], SORT_ASC);

Я надеюсь, это поможет.

0

По вопросам рекламы [email protected]