|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2005-10-30 19:04 UTC] iliaa@php.net
 | |||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 05:00:02 2025 UTC | 
Description: ------------ Found a difference in mediawiki 1.5 with php4 vs php5. After tracking it down it looks like key() might be returning incorrect information inside a for loop. I might be missing a scope change someplace too though. This test case is based on Parser.php from that package. Reproduce code: --------------- <?php function one(&$state) { $state = array ( 'oneKey' => "oneValue", 'twoKey' => "twoValue", 'threeKey' => "threeValue", 'fourKey' => "fourValue", ); } function two(&$state) { for ( $contentDict = end( $state ); $contentDict !== false; $contentDict = prev( $state ) ) { print("Key:" . key($state) . "\n"); print("Value:" . $contentDict . "\n"); } } one($state); two($state); ?> Expected result: ---------------- Key:fourKey Value:fourValue Key:threeKey Value:threeValue Key:twoKey Value:twoValue Key:oneKey Value:oneValue Actual result: -------------- Key:oneKey Value:fourValue Key:oneKey Value:threeValue Key:oneKey Value:twoValue Key:oneKey Value:oneValue