PHP 4.0 Bug #5226 Updated: arrayfields reorganized when using array_pop
| From: | cnewbill@php.net | Date: | Wed, 04 Apr 2001 04:49:26 +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-50797@lists.php.net to get a copy of this message | ||
ID: 5226
Updated by: cnewbill
Reported By: bretschneider@freestyling.de
Old-Status: Closed
Status: Feedback
Bug Type: Scripting Engine problem
Assigned To:
Comments:
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?
Previous Comments:
---------------------------------------------------------------------------
[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