更新和排序多维PHP数组

时间:2013-10-31 18:17:31

标签: php mysql arrays sorting multidimensional-array

我有一个mySQL查询,它转储到一个数组中,进行排序然后显示,并且完美无缺。

我的问题是我想更新这些值,重新排序并显示。我已经能够更新这些值,但它在for循环中是相同的,所以它不会重新排序。然后我关闭循环并重新排序,但它不保存我在第一个循环中所做的更新。非常感谢帮助。

foreach ($arr as $mks){
if ($mks['Column1']==$Var) {$mks['Column2'] = $mks['Column2'] + 1;
}

我的排序代码

foreach ($arr as $mks){
    echo $mks['Column1'] . ", " . $mks['Column2'] . "<br>";
}

如何才能将其重新保存到我的阵列中?!我早上大部分时间都试过谷歌搜索,但却导致沮丧。

3 个答案:

答案 0 :(得分:0)

我认为这就是你所需要的:

foreach ($arr as $key => $mks){
    if ($mks[$key] == $Var) {
        $arr[$key] = $mks+1;
    }
}

现在,$arr将包含已修改的数组,您可以根据需要进一步使用/修改它。

答案 1 :(得分:0)

我没有看到任何“排序代码”,但您可以尝试使用引用“&amp;”而不是在你的foreach(s)中复制vars:

foreach($arr as & $mks){
...
}

而不是复制你的单元格,它将为你提供一个参考,并且对其进行的每个修改都将保存在数组中。

答案 2 :(得分:0)

尝试更改像这样的数组

foreach ($arr as $key => $mks){
    if ($mks['Column1']==$Var) {$arr[$key]['Column2'] = $mks['Column2'] + 1;
}