Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

PHP PHP Arrays and Control Structures PHP Conditionals Switch Statements

Andre Cuenca
Andre Cuenca
3,104 Points

Cannot get the switch statement right.

The system tells me " I do not see the correct default output" and it is exactly as the exercise has given to me already.

switch.php
<?php
//Available roles: admin, editor, author, subscriber
if (!isset($role)) {
    $role = 'subscriber';
}

//change to switch statement
switch ($role != 'admin') {
  case 'admin':
    echo "As an admin, you can add, edit, or delete any post.";
    break;
  default:
    echo "You do not have access to this page. Please contact your administrator.";
    break;
}

1 Answer

Tobias Karlsson
Tobias Karlsson
2,751 Points

Hi,

In this case you do not want an expression inside of the switch-statement.

So it should look like this:

<?php

switch ($role) {

and also you do not need the break in the default case because that is the last resort and it will jump out of the switch anyways.

Liam Maclachlan
Liam Maclachlan
22,805 Points

This will fix it.

Just being a little pedantic, the reason you won't need a break on the final statement is because there is nothing after it, not that a 'default' (by default) breaks once the logic has run. This comment in the PHP docs highlights this more :)

Otherwise all information is correct! :D