输入数组:
$array1 = ['OA.3', 'OA.8', 'OA.6', 'OA.2'];
$array2 = [4, 1, 5, 3];
$array3 = [3, 1, 5, 0];
$array1 = ['OA.2', 'OA.3', 'OA.6', 'OA.8'];
$array2 = [3, 4, 5, 1];
$array3 = [0, 3, 5, 1];
是否可以将所有三个阵列的所有三个阵列在natsort()
array_values()
排序中保持同步? Array2和Array3的最终结果显示了与Array1的分类和重键的最终结果相匹配的新键。
您可以在Natsort之后使用数组A的键,对数组B和C进行排序...示例:
$array1
完成分类后,您可以在数组$ a,$ bb和$ cc上应用array_values()。注:pre只是为了打印数组之间的介于两者之间,没有其他功能。
<?PHP
function pre($a) { echo '<pre>'; print_r( $a ); echo '</pre>'; }
$a = array(
0 => 'OA.3',
1 => 'OA.8',
2 => 'OA.6',
3 => 'OA.2'
);
$b = array (
0 => '4',
1 => '1',
2 => '5',
3 => '3'
);
$c = array (
0 => 3,
1 => 1,
2 => 5,
3 => 0,
);
pre( $a );
natsort( $a );
pre( $a );
foreach( $a AS $key => $var ) {
$bb[] = $b[ $key ];
$cc[] = $c[ $key ];
}
echo '$bb:<br />';
pre( $bb );
echo '$cc:<br />';
pre( $cc );
?>
$required_array3
这项任务正是设计要做的。 将第一个数组写为参数,然后添加参数以指示方向和比较样式,然后添加要同步突变的其他阵列。 demo
$required_array2 = array();
foreach ($your_array2 as $key => $value)
{
$k = array_search($value, $your_array1); // Original array [unsorted]
$required_array2[$k] = $value;
}
输出:
array_multisort()