Lenguaje PHP

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

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

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

Botón volver arriba