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

PHP Arreglos y estructuras de control de PHP Condicionales en PHP Declaraciones Switch

Necesito ayuda con la tarea del desafío 1 de 2 en las estructuras de arrays y control de php

Declaraciones Switch

switch.php
<?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

El 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;
}

Esto es lo que obtuve y me dio luz verde.

$role != 'admin';

switch ($role) {
  default:
    echo "No tiene acceso a esta página. Por favor, póngase en contacto con su administrador.";
    break;

  case 'admin':
    echo "As an admin, you can add, edit, or delete any post.";
    break;
}

John Lack-Wilson tiene prácticamente la razón. Todo lo que necesitas agregar es $role != 'admin'; en la parte superior.

De hecho, la declaración $role != 'admin'; es redundante aquí, porque $role se establece en 'subscriber', y no es necesario decir que 'subscriber' != 'admin'.

Extrañ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.