Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
Eric Jones
Estudiante de Cursos Plus 824 PuntosNecesito ayuda con la tarea del desafío 1 de 2 en las estructuras de arrays y control de php
Declaraciones Switch
<?php
//Roles disponibles: admin, editor, author, subscriber
if (!isset($role)) {
$role = 'subscriber';
}
//cambiar a declaración switch
cambiar ($role != 'admin') {
default:
eco No tienes acceso a esta página. Por favor, contacta a tu administrador.;
break;
case 'admin':
eco Como administrador, puedes agregar, editar o eliminar cualquier publicación;
break;
}
2 Respuestas
John Lack-Wilson
8,181 PuntosEl problema aquí es que la declaración switch toma una única expresión expression n, por ejemplo switch (n), donde n es generalmente una única variable.
Con declaraciones switch usamos case para comparar valores.
Aquí hay un ejemplo muy simple para intentar ayudarte a completar el desafío:
$n = "5";
switch ($n) {
case "1":
echo "No es el número correcto";
break;
default:
echo "Correcto";
break;
}
Robbie Thomas
31,093 PuntosExtraño, parece que sabes más que yo sobre esto. Solo escribí el código de esa manera y TreeHouse me dio el visto bueno.
Robbie Thomas
31,093 PuntosRobbie Thomas
31,093 PuntosEsto es lo que obtuve y me dio luz verde.
John Lack-Wilson tiene prácticamente la razón. Todo lo que necesitas agregar es $role != 'admin'; en la parte superior.
John Lack-Wilson
8,181 PuntosJohn Lack-Wilson
8,181 PuntosDe hecho, la declaración $role != 'admin'; es redundante aquí, porque $role se establece en 'subscriber', y no es necesario decir que 'subscriber' != 'admin'.