|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-01-24 14:18 UTC] 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
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 15:00:01 2025 UTC |
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 }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 ?