說我有一個多維數組設置如下:多維數組的價格價值的PHP排序
$matrix[1][1]=4.54; $matrix[2][1]="apples"; $matrix[3][1]="coles";
$matrix[1][2]=7.2140230; $matrix[2][2]="apples"; $matrix[3][2]="safeway";
$matrix[1][3]=15.56; $matrix[2][3]="oranges"; $matrix[3][3]="coles";
$matrix[1][4]=2.34; $matrix[2][4]="bananas"; $matrix[3][4]="safeway";
$matrix[1][5]=27.98; $matrix[2][5]="grapes"; $matrix[3][5]="coles";
$matrix[1][6]=17.68493403; $matrix[2][6]="oranges"; $matrix[3][6]="safeway";
,我希望通過我已經保存下的定價信息來重新安排第1列,使$matrix
新秩序將是:
$matrix[1][1]=2.34; $matrix[2][1]="bananas"; $matrix[3][1]="safeway";
$matrix[1][2]=4.54; $matrix[2][2]="apples"; $matrix[3][2]="coles";
$matrix[1][3]=7.2140230; $matrix[2][3]="apples"; $matrix[3][3]="safeway";
$matrix[1][4]=15.56; $matrix[2][4]="oranges"; $matrix[3][4]="coles";
$matrix[1][5]=17.68493403; $matrix[2][5]="oranges"; $matrix[3][5]="safeway";
$matrix[1][6]=27.98; $matrix[2][6]="grapes"; $matrix[3][6]="coles";
什麼是實現這一目標的最佳方式是什麼?我已經閱讀了關於對多維數組進行排序的其他問題,但實現起來很麻煩,因爲這些示例似乎具有帶鍵和元素的關聯數組,而我只是使用不同的數字來存儲每一段數據。我不想改變我在數組中存儲數據的方式,因爲實際的腳本很長很複雜,所以這會涉及很多重新工作。
我完全是PHP的新手,所以我很抱歉如果我在這裏丟失了一些明顯的東西。謝謝你的幫助。
編輯:謝謝大家的建議,sors的代碼正是我所需要的。 Halfer - 給你的第一個問題 - 是的,第二篇 - 好點,我會執行這個。再次感謝大家!
設置是對第一索引1 =價格,2 =產品,3 =商店,用於輸入和輸出數組?感謝@kapep提供了更好的格式,這使得它更清晰! – halfer
你能改變數據格式嗎?如果第一個數字是「產品ID」,最後一個數字是價格/名稱/供應商索引,這將更容易。 – slugonamission
我感謝你不想改變你的方法,但只是爲了記錄它可能會更好,如果你要[X] [Y]順序交換[Y] [X]。這樣'$ matrix [1]'中的數組將包含價格,產品和商店,因此是一個可以更容易排序的「對象」。 – halfer