说我有一个多维数组设置如下:多维数组的价格价值的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