[PHP-DEV] Re: [PEAR-DEV] PHP arrays managment bug :-? From: Cynic (cynic <email protected>)
Date: 07/27/01

At 14:53 7/27/2001, Tomas V.V.Cox wrote the following:
--------------------------------------------------------------
>Cynic wrote:
>>
>> I don't see any error in the output. What did you expect?
>>
>> At 14:30 7/27/2001, Tomas V.V.Cox wrote the following:
>> --------------------------------------------------------------
>> >During my test with the pushErrorHandling and popErrorHandling I found
>> >strange behavoirs of the PHP array functions (I use last cvs php under
>> >Linux).
>> >
>> >1) array_pop() bug:
>> ><?php
>> >$a = array();
>> >$a[] = array('foo', 'bar');
>> >print_r($a);
>> >$a[] = array('foo2', 'bar2');
>> >print_r($a);
>> >$a = array_pop($a);
>> >print_r($a);
>> >?>

[...]

>Real output:
>
>> >Array
>> >(
>> > [0] => foo2
>> > [1] => bar2
>> >)
>
>Expected output:
>Array
>(
> [0] => Array
> (
> [0] => foo
> [1] => bar
> )
>)

so, you're questioning the order of the retval assignment, and the
popped array?

>> >$a = array_pop($a);
>> >print_r($a);

change that $b = array_pop($a);
print_r($b);
and I think you'll see what you expected to see.

>> >2) The array[] statement fails to find the correct last value:
>> ><?php
>> >$a = array();
>> >$a[] = array('foo', 'bar');
>> >print_r($a);
>> >$a[] = array('foo2', 'bar2');
>> >print_r($a);
>> >unset($a[sizeof($a) - 1]);
>> >print_r($a);
>> >$a[] = array('foo3', 'bar3');
>> >print_r($a);
>> >?>

[...]

>Real output:
>
>> >Array
>> >(
>> > [0] => Array
>> > (
>> > [0] => foo
>> > [1] => bar
>> > )
>> >
>> > [2] => Array
>> > (
>> > [0] => foo3
>> > [1] => bar3
>> > )
>> >
>> >)
>> >
>
>Expected output:
>
>Array
>(
> [0] => Array
> (
> [0] => foo
> [1] => bar
> )
>
> [1] => Array
> (
> [0] => foo3
> [1] => bar3
> )
>
>)

Aha. Well, this ones problematic... Does anyone better informed
than I am know why this is so?

cynic <email protected>
-------------
And the eyes of them both were opened and they saw that their files
were world readable and writable, so they chmoded 600 their files.
    - Book of Installation chapt 3 sec 7

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>