这是我的基本PHP代码。只有for循环,我想用它来循环仅。
<?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>');
}
}
}
}
}
?>
答案 0 :(得分:0)
您可以使用PHP的array_multisort()函数
对于您的代码,解决方案将不使用循环。
<?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);
我希望这会有所帮助。
答案 1 :(得分:0)
我希望这会对你有所帮助:
<?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);
?>