Custom Order Array Clasificación en php
Las matrices de clasificación en PHP se realizan típicamente a través de algoritmos basados en comparación. Sin embargo, hay situaciones en las que necesita clasificar matrices basadas en un orden personalizado predefinido.
Considere una matriz de matrices donde cada sub-array contiene dos claves: "ID" y "Título". Desea ordenar la matriz principal en un orden específico, como:
[3452342, 5867867, 7867867, 1231233]
para lograr esto, puede utilizar la función ussort (). Esta función le permite especificar una función de comparación que define cómo se comparan los elementos de matriz.
, la función de comparación usa un cierre para comparar las posiciones de los valores de "id" en la matriz de orden personalizada ($ orden):
usort($array, function ($a, $b) use ($order) { $pos_a = array_search($a['id'], $order); $pos_b = array_search($b['id'], $order); return $pos_a - $pos_b; });
La función de comparación asigna las posiciones de los valores de "id" en la matriz $ orden a $ pos_a y $ pos_b. Luego resta estas posiciones para determinar el orden ($ A viene antes de $ B Si $ POS_A es menor que $ POS_B).
usando la matriz de pedidos personalizados y la función de comparación, puede ordenar efectivamente su matriz de matrices en el orden predefinido.
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