<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <form> Nombre: <input type="text" name="nombre"> Sueldo: <input type="number" name="sueldo"> <input type="submit"> </form> <?php session_start(); $nombre = filter_input(INPUT_GET, "nombre"); $sueldo = filter_input(INPUT_GET, "sueldo", FILTER_VALIDATE_INT); $borrar = filter_input(INPUT_GET, "borrar"); if (!empty($borrar)) { unset($_SESSION['empleados'][$borrar]); } if (!empty($nombre) && is_numeric($sueldo)) { //Si empleados está vacía añadimos directamente el valor if (empty($_SESSION['empleados'])) { $_SESSION['empleados'][$nombre] = $sueldo; } else { //Creamos un array para copiar empleados $auxiliar = []; foreach ($_SESSION['empleados'] as $c => $v) { //Si el sueldo es menor lo metemos antes if ($sueldo < $v) { $auxiliar[$nombre] = $sueldo; } //Y siempre copiamos el elemento, lo que pasa es //Que si el sueldo era menor lo hemos añadido en //el if anterior $auxiliar[$c] = $v; } //Si después de recorrer el array no lo hemos introducido //Es que debe ir al final if (!isset($auxiliar[$nombre])) { $auxiliar[$nombre] = $sueldo; } //Sustituimos el array empleados por la copia $_SESSION['empleados'] = $auxiliar; } } if (!isset($_SESSION['empleados'])) : $_SESSION['empleados'] = []; endif; ?> <table> <tr><th>Empleado</th><th>Sueldo</th><th>Acciones</th></tr> <?php foreach ($_SESSION['empleados'] as $c => $v): ?> <tr><td><?= $c ?></td><td><?= $v ?></td> <td><a href="?borrar=<?= $c ?>">Borrar</a></td></tr> <?php endforeach; ?> </table> </body> </html>