ID: 40218 Comment by: didou at keliglia dot com Reported By: jbailey at raspberryginger dot com Status: Open Bug Type: Feature/Change Request Operating System: Linux PHP Version: 5.2.0 New Comment:
I like the idea, but using the "else" keyword would break a lot of apps using something like this: if (X) while (foo) { } else no X whileelse ? Previous Comments: ------------------------------------------------------------------------ [2007-01-24 14:31:11] jbailey at raspberryginger dot com Grr.. This bug tracking system ate my comment. So here's a much shorter version of what I wrote: Use cases: Retrieving from a database (especially since PDO doesn't have a numrows options): while ($foo = $db->sql_fetchrow($result)) { // Do something } else { // No rows found } This could also be useful for ArrayObjects and foreach: $i = $myArray->getIterator(); foreach ($i as $item) { // Do something } else { // Empty array } ------------------------------------------------------------------------ [2007-01-24 14:18:57] jbailey at raspberryginger dot com Description: ------------ Right now checks have to be done separately for when a while will execute zero times, which means code duplication and constructs that have to be kept in sync. I would like to see an else clause to while that is executed when the while loop goes zero times. Reproduce code: --------------- while (0) { echo "I ran"; } else { echo "I didn't run."; } Expected result: ---------------- I didn't run. Actual result: -------------- Parse error: syntax error, unexpected T_ELSE in /tmp/test.php on line 5 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40218&edit=1