On 1 Sep, 2012, at 1:11 AM, Rasmus Schultz <ras...@mindplay.dk> wrote:

> Yes, typo! sorry.
> 
>     $array = array(1001, 1002, 1003, 1004);
>     $number = $array[-1]; // => 1004
>     $array[-1] = 1005;
>     $number = $array[-1]; // => ????
> 
> Looking at the resulting code, I would like to point out also that
> it's extremely misleading... because $array[-1] references two
> completely different elements depending on whether you're reading or
> writing the value... unless $array[-1] = 1005 would actually overwrite
> the last element in the array - in which case it gets even more
> dangerous, as well as breaking backwards compatibility...

That might actually be something I could use :) But the fun for me begins here:

$numbers = array();
$numbers[-1] = 5;
$numbers[] = 6;

What would have happened to the keys? Normally [] is equivalent to 
[count($numbers)]. 

Perhaps this is why JS treats negative indices as properties instead :)

> 
> 
> On Fri, Aug 31, 2012 at 9:24 AM, Ferenc Kovacs <tyr...@gmail.com> wrote:
>> 
>> 
>> On Fri, Aug 31, 2012 at 3:14 PM, Rasmus Schultz <ras...@mindplay.dk> wrote:
>>> 
>>> Having thought about this for a while, I think this is a bad idea - here's
>>> why:
>>> 
>>>    $array = array(1001, 1002, 1003, 1004);
>>> 
>>>    $number = $array[-1]; // => 1004
>>> 
>>>    $number[-1] = 1005;
>>> 
>>>    $number = $array[-1]; // => ????
>>> 
>>> Obviously, the last statement must return 1005, since otherwise that
>>> value would be inaccessible.
>>> 
>> 
>> maybe you wanted to write
>> $array[-1] = 1005;
>> instead of
>> $number[-1] = 1005;
>> ?
>> 
>> otherwise I can't see the problem that you are mentioning.
>> could you clarify?
>> 
>> --
>> Ferenc Kovács
>> @Tyr43l - http://tyrael.hu
> 
> -- 
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to