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 trialAndre Cuenca
3,104 PointsCannot 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.
<?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
2,751 PointsHi,
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
22,805 PointsLiam Maclachlan
22,805 PointsThis 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