Para ordenar por otro campo en una matriz multidimensional, puede usar la función usort combinada con una función de comparación personalizada.
Aquí hay un código de muestra:
<?php
// 定义一个多维数组
$multidimensionalArray = array(
array('name' => 'John', 'age' => 25),
array('name' => 'Mary', 'age' => 30),
array('name' => 'David', 'age' => 20)
);
// 按age字段进行排序
usort($multidimensionalArray, function($a, $b) {
if ($a['age'] == $b['age']) {
return 0;
}
return ($a['age'] < $b['age']) ? -1 : 1;
});
// 打印排序后的数组
print_r($multidimensionalArray);
?>
Ejecutando el código anterior, la salida será:
Array
(
[0] => Array
(
[name] => David
[age] => 20
)
[1] => Array
(
[name] => John
[age] => 25
)
[2] => Array
(
[name] => Mary
[age] => 30
)
)
En el código anterior, la función usort se usa para ordenar la matriz multidimensional. La función anónima se utiliza para comparar el campo de edad de dos elementos de matriz. Devuelve 0 si las edades de los dos elementos del arreglo son iguales. Devuelve -1 si la edad del primer elemento de la matriz es menor que la edad del segundo elemento de la matriz, 1 en caso contrario. Finalmente, la matriz ordenada se imprime utilizando la función print_r.
Puede modificar la función de comparación para ordenar por diferentes campos según sus necesidades.