ID:               40218
 User updated by:  jbailey at raspberryginger 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:

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
}


Previous Comments:
------------------------------------------------------------------------

[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

Reply via email to