Gestionar casos de lista vacía
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 60 de 71.
Desafío
FácilEn la lección anterior, filtraste las tareas por estado de completación. Ahora, agrega manejo para escenarios donde el resultado filtrado está vacío.
Lee cuatro líneas de entrada para descripciones de tareas (tres tareas iniciales más una nueva tarea). Luego lee una quinta entrada: un entero que representa el índice de la tarea a marcar como completa. Lee una sexta entrada: un entero que representa el índice de la tarea a eliminar. Finalmente, lee una séptima entrada: una cadena que es ya sea completed o pending para filtrar las tareas.
Después de construir el arreglo $todos, marcar la tarea especificada como completa, y eliminar la tarea en el índice dado, filtra las tareas restantes basadas en la entrada de filtro.
Antes de mostrar las tareas filtradas, verifica si alguna tarea coincide con el filtro:
- Si no hay tareas que coincidan con el filtro, imprime:
No [filter] tasks found.(donde[filter]es ya seacompletedopending) - Si las tareas coinciden con el filtro, muéstralas usando el mismo formato que antes
Formato de salida para tareas coincidentes:
- Si la tarea está completada:
- [task description] (Done) - Si la tarea está pendiente:
- [task description] (Pending)
Ejemplo 1:
Si las entradas son Buy groceries, Walk the dog, Finish homework, Call mom, 1, 1, y completed, la salida debería ser:
No completed tasks found.Ejemplo 2:
Si las entradas son Buy groceries, Walk the dog, Finish homework, Call mom, 0, 2, y completed, la salida debería ser:
- Buy groceries (Done)Ejemplo 3:
Si las entradas son Buy groceries, Walk the dog, Finish homework, Call mom, 0, 1, y pending, la salida debería ser:
- Finish homework (Pending)
- Call mom (Pending)Pruébalo tú mismo
<?php
// Leer entrada
$input = trim(fgets(STDIN));
// Inicializar colecciones de tareas basadas en la entrada
if ($input == "empty") {
$tasks = [];
} else {
$tasks = [
[
"description" => "Buy groceries",
"completed" => false
],
[
"description" => "Walk the dog",
"completed" => true
]
];
}
// TODO: Escribe tu código aquí
// Verificar si el array de tareas está vacío usando la función count()
// Mostrar mensaje apropiado para tareas vacías o pobladas
// Calcular y mostrar información de resumen
?>Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenas6Arrays, parte 1 - indexados
Introducción a los ArraysCreación de Arrays indexadosAcceso a elementos mediante índicesModificación de elementos mediante índicesTamaño de un Array con CountAdición de elementos a un ArrayRepaso - Gestión de una lista sencilla9Proyecto: Lista de tareas sencilla
Descripción general y datos del proyectoAñadir una nueva tareaPractica por tu cuenta: Compilador de PHP online