PHP 4.0 Bug #5226 Updated: arrayfields reorganized when using array_pop

From: Date: Wed, 04 Apr 2001 04:51:40 +0000
Subject: PHP 4.0 Bug #5226 Updated: arrayfields reorganized when using array_pop
Groups: php.dev 
Request: Send a blank email to php-dev+get-50799@lists.php.net to get a copy of this message
ID: 5226 Updated by: cnewbill Reported By: bretschneider@freestyling.de Old-Status: Feedback Status: Analyzed Old-Bug Type: Scripting Engine problem Bug Type: Feature/Change Request Assigned To: Comments: oops, forgot feature request. -Chris Previous Comments: --------------------------------------------------------------------------- [2001-04-04 00:49:25] cnewbill@php.net Reclassifying as a feature request, regardless of whether it happens anytime soon. :) -Chris spinn@spinnwebe.com adds... This is a repeat of 5226, but I couldn't add anything without a password, which I didn't have. In that bug, stas@cvs.php.net didn't understand the example that was given. What happens is this: if you have $a[5]="five"; $a[6]="six"; and then do array_pop($a), you now have $a[0]="five", not $a[5]="five", as I would expect. Despite not understanding the example, stas answered the question: that's the way the zend engine works. But you don't see that as a problem? --------------------------------------------------------------------------- [2000-06-28 10:20:19] stas@cvs.php.net Presently, all splice-derived functions reorder numeric keys. There's not much to do about it, since it's the way Zend Engine handles numeric hash keys. Changing it either way won't bring more consistent functionality, so in the meantime it is just as it is. --------------------------------------------------------------------------- [2000-06-25 19:01:02] stas@cvs.php.net AFAIU that's exactly what pop should do - pop element from array. Why should it insert empty element on top? --------------------------------------------------------------------------- [2000-06-25 18:56:19] bretschneider@freestyling.de <? $A[1] = 'A'; $A[2] = 'B'; $A[3] = 'C'; $DUMP = array_pop($A); for ($i=0; $i<=sizeof($A); $i++) { print "$i = ".$A[$i]."<br>n"; } ?> returns: 0 = A 1 = B 2 = but should return 0 = 1 = A 2 = B --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=5226&edit=2

« previous php.dev (#50799) next »