"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo ordenar una matriz multidimensional mediante una columna especificada en PHP?

¿Cómo ordenar una matriz multidimensional mediante una columna especificada en PHP?

Publicado el 2025-03-25
Navegar:103

How to Sort a Multidimensional Array by a Specified Column in PHP?

clasificando una matriz multidimensional mediante una columna especificada en php

para ordenar una matriz multidimensional en php por una columna específica, use las funciones php construidas Usort u [&] uasort . La clave para clasificar es proporcionar una función de comparación personalizada que determine el orden de los elementos de la matriz.

función de comparación personalizada para clasificar

la función de comparación personalizada se toma dos elementos de la matriz como entrada y devuelve un entero:

[&]

una intreación positiva toma dos elementos de la matra segundo.
  • un entero negativo si el primer elemento se considera "menos" que el segundo.
  • cero Si los elementos se consideran iguales.
clasificando por una sola columna

vamos a tener un múltiple incrustado provecho de un resalte mulidimensional llamado estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado estallado llamado estallido llamado estallido llamado estallido llamado estallado llamado estallido llamado estallido llamado estallado llamado estallado llamado un estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado estallido llamado un arrendamiento llamado estreerre de un arrendamiento llamado estre de una masa. Elemento representa un registro con múltiples columnas. Para ordenar la matriz por la columna 'name' , use el siguiente código:

usort ($ data, function ($ a, $ b) { return strcmp ($ a ['nombre'], $ b ['nombre']); }); Esta función de comparación personalizada usa la función strcmp para comparar los valores de la columna

'name'
usort($data, function($a, $b) {
  return strcmp($a['name'], $b['name']);
});
'name'

. clasificación por múltiples columnas para ordenar múltiples columnas, pasar parámetros adicionales a la función de comparación personalizada. Por ejemplo, para ordenar por

'number'

y luego 'name' :

usort ($ data, function ($ a, $ b) { if ($ a ['número'] == $ b ['número']) { return strcmp ($ a ['nombre'], $ b ['nombre']); } devolver $ a ['número'] - $ b ['número']; }); características avanzadas

usort($data, function($a, $b) {
  if ($a['number'] == $b['number']) {
    return strcmp($a['name'], $b['name']);
  }
  return $a['number'] - $b['number'];
});

reverse sort:

establecer el segundo parámetro de la función de comparación en

sort_desc

para revertir la clasificación:
    ] establecer el segundo parámetro de la función de comparación de la función de comparación en
  • sort_desc para invertir la clasificación de la clasificación Orden. Projecciones personalizadas:
  • Si los valores de la columna no son directamente comparables, proporcione una función de proyección como el tercer parámetro para convertirlas.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3