簡體   English   中英

更新和排序多維PHP數組

[英]Updating and Sorting a Multidimensional PHP 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>";
}

我該如何將其正確保存到陣列中? 在整個上午的大部分時間里,我都嘗試過使用谷歌搜索,但是卻導致沮喪。

我認為這是您需要的:

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

現在, $arr將包含修改后的數組,您可以根據需要進一步使用/修改它。

我沒有看到任何“排序代碼”,但是您可以嘗試使用引用“&”代替在您的foreach中復制vars:

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

除了復制您的單元格外,它還會為您提供參考,並且對其所做的所有修改都將保存在數組中。

嘗試像這樣更改數組

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM