Portada » Lenguaje PHP » Ordenar el resultado del bucle foreach

Ordenar el resultado del bucle foreach

Ordenar el resultado del bucle foreach.- Si deseamos ordenar resultados de un ciclo foreach podemos usar SORT() para obtener el resultado deseado. Sin embargo, existen más funciones que ordenar resultados y lo hemos detallado en el presente artículo.

Ordenar el resultado del bucle foreach

Existen varias formas de ordenar resultados uno por ejemplo es a través de la consulta SQL usando la cláusula ORDER BY y otra es usando SORT() dentro del ciclo foreach PHP

Fichero conexion.php

para la conexión con el servidor de base de datos usaremos una clase llamada Conexion y La extensión Objetos de Datos de PHP ( PDO por sus siglas en inglés) define una interfaz ligera para poder acceder a bases de datos en PHP.

<?php
class Conexion{
public static function conectar(){
$link = new PDO("mysql:host=localhost;dbname=DBNAME",
"DBUSER",
"DBPASS");
$link->exec("set names utf8");
return $link;
}
}

Consulta y conexión MySQL para ordenar

Primero tenemos que conectarnos con la base de datos (MySQL) y posteriormente crear una consulta SQL. Por lo tanto, para este ejemplo usaremos una tabla llamada entradas para poder ordenar sus resultados a través del ciclo foreach.

Usaremos PDO como conexión con MySQL

require_once "./modelos/conexion.php";
$db = Conexion::conectar();
$entradas= $db->prepare("SELECT * FROM entradas");
$msede->execute();
$lista_entradas= $entradas->fetchAll();

Ordenar resultados Foreach PHP

Para ordenar funciona en una matriz, y lo que está haciendo es llamar a ordenar en cada elemento de la matriz que no funcionará.

Lo que puede hacer en su lugar es hacer su bucle foreach y luego ordenar:

<?php
$array = [];
foreach ($lista_entradas as $item) {
   $distance = $item["cantidad"] * $item["cantidad2"];
   $array[] = $distance;
}
sort($array);// Ordenamos los resultados
var_dump($array);
?>

Primero convierta su resultado $item["cantidad"] en (array)$item["cantidad"] y luego use una de las siguientes funciones:

  • sort() – ordena las matrices en orden ascendente
  • rsort() – ordena las matrices en orden descendente
  • asort() – ordena matrices asociativas en orden ascendente, de acuerdo con el valor
  • ksort() – ordenar matrices asociativas en orden ascendente, de acuerdo con la clave
  • arsort() – ordenar matrices asociativas en orden descendente, según el valor
  • krsort() – ordena matrices asociativas en orden descendente, de acuerdo con la clave

Conclusiones y recomendaciones

Si analizamos las opciones para ordenar los registros se nos viene a la cabeza usar ORDER BY id ASC o DESC. Sin embargo, si esto no nos satisface ya podemos usar otras opciones como SORT() que ejecuta y/o ordena resultados del ciclo foreach.

Espero que esta pequeña explicación ayude a despejar dudas acerca de ordenamiento de registros en PHP

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad