Aca un ejemplo de algo que he hecho yo y funciona. Son arrays independientes pero luego si quieres puedes de todos hacer uno solo que sea multidimensional (eso es lo de menos)
<?php
### ORDENO una matriz (o matrices) en base al ordenamiento de otra !!!!!!!!!!!!!!!!!!!
$m = array("2.2.2.1","2.2.2.11","2.2.2.10","2.2.2.2","2 .2.2.3","5.1.0.1");
$n = array("tuercas","tornillos","clavos","metales","al eaciones","herramientas");
natsort($m); // orden natural
foreach ($m as $key => $val) {
$nn [$key] = $n[$key];
echo $nn [$key].$b;
}
?>
Se ordena la matriz $m y en base a esta se ordena $n y el resultado queda en $nn