<!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>