Sintaxis:
La sintaxis de la función usort () se da a continuación.
Boolean Usort (Array $ Array, Callback ())Esta función tiene dos argumentos. Ambos argumentos son obligatorios. El primer argumento toma la matriz que se ordenará. La función de devolución de llamada () compara los valores de la matriz para ordenar la matriz y devuelve un valor numérico. Si los argumentos de la función de devolución de llamada () son iguales, entonces la función devolverá 0. Si el primer argumento de la función de devolución de llamada () es mayor que el segundo argumento, devolverá 1. Si el primer argumento de la función de devolución de llamada () es más pequeño que el segundo argumento, devuelve -1. la función usort () devuelve verdadero para un orden exitoso y devuelve falso para un sort sin éxito. Algunos usos de esta función se han mostrado en la siguiente parte de este tutorial.
Ejemplo-1: ordene una matriz de valores de fecha
El siguiente ejemplo muestra cómo una matriz de valores de fecha se puede ordenar correctamente utilizando la función usort (). Cree un archivo PHP con el siguiente script. $ date_array se define con valores de cinco fechas. sort_date () la función se declara como función de devolución de llamada para ordenar el $ date_array. Los valores de la matriz se imprimen antes de llamar a la función usort (). Cuando la función usort () se llama con la matriz y la función de devolución de llamada, convertirá dos valores de fecha en valores de marca de tiempo utilizando la función strTotime (). Si los dos valores de la marca de tiempo son iguales, entonces la función devolverá 0. Si el primer valor de la marca de tiempo es mayor que el segundo valor de marca de tiempo, entonces la función devolverá 1. Si el primer valor de marca de tiempo es más bajo que el segundo valor de marca de tiempo, la función devolverá -1. la función usort () llamará a la función de devolución de llamada varias veces hasta $ date_array se clasifica correctamente. A continuación, la matriz ordenada se imprimirá usando el para cada bucle.
// Defina la función de devolución de llamadaLos valores de la matriz de fechas:
";La salida después de clasificar la matriz de fecha:
";Producción:
La siguiente salida aparecerá después de ejecutar el script desde el servidor.
Ejemplo-2: ordene una matriz asociativa
El siguiente ejemplo muestra cómo se puede ordenar una matriz asociativa utilizando la función usort (). Cree un archivo PHP con el siguiente script. sort_names () La función se declara una función de devolución de llamada para ordenar la matriz en función de los valores de la matriz. El operador ternario se usa en el sort_names () función para comparar los valores de la matriz asociativa. Si los dos valores son iguales, entonces la función de devolución de llamada devolverá 0. Si el primer valor de argumento es mayor que el segundo valor de argumento, entonces la función de devolución de llamada devolverá 1. Si el primer valor de argumento es menor que el segundo valor de argumento, entonces la función de devolución de llamada devolverá -1. usort () ordenará la matriz utilizando la función de devolución de llamada, y la matriz ordenada se imprimirá usando el para cada bucle.
// Defina la función para ordenar la matriz asociativaProducción:
La siguiente salida aparecerá después de ejecutar el script desde el servidor.
Ejemplo-3: ordene una matriz bidimensional
El siguiente ejemplo muestra cómo se puede ordenar una matriz bidimensional utilizando la función usort (). Cree un archivo PHP con el siguiente script. sort_array () La función se declara una función de devolución de llamada para ordenar la matriz en función de los valores de la matriz. La función strcmp () se usa en la función de devolución de llamada para comparar los valores de la matriz. Si los dos valores son iguales, entonces la función strcmp () devolverá 0. Si el primer valor de argumento es mayor que el segundo valor de argumento, entonces la función strcmp () devolverá 1. Si el primer valor de argumento es menor que el segundo valor de argumento, entonces la función strcmp () devolverá -1. usort () ordenará la matriz utilizando la función de devolución de llamada, y la estructura de la matriz ordenada se imprimirá utilizando el print_r () función.
// Definir la función para ordenar una matriz bidimensional";";
print_r ($ animales);
eco "
Producción:
La siguiente salida aparecerá después de ejecutar el script desde el servidor.
Conclusión:
Usort () es una función útil para clasificar tipos particulares de datos que no pueden ordenar correctamente las funciones normales de PHP. La función de devolución de llamada de la función usort () se define en función de los tipos de valores que se requieren para clasificar. Este tutorial ayudará a los lectores a saber cómo usar la función usort () y aplicarla en su script en función del requisito.