我有两个数组存储在一个数组中。它们有相同数量的值并且对齐:
$matrix['label1']
$matrix['label2']
我想对$matrix['label1']应用字母排序,并以相同的模式移动$matrix['label1']的内容。下面是一个输入和输出的例子。
$matrix['label1'] = ['b','c','a']
$matrix['label2'] = [ 1, 2, 3]
asort($matrix['label1'])
// outputs ['a','b','c']
//$matrix['label2'] should now be depending on that [ 3, 1, 2]
我如何改变我的asort()
调用使其工作?
你正在寻找array_multisort()
,只需传递两个子数组作为参数给它:
<?php
$matrix['label1'] = ['b','c','a'];
$matrix['label2'] = [ 1, 2, 3];
array_multisort($matrix['label1'], $matrix['label2']);
print_r($matrix);
?>
输出:Array
(
[label1] => Array
(
[0] => a
[1] => b
[2] => c
)
[label2] => Array
(
[0] => 3
[1] => 1
[2] => 2
)
)