Garrett Goebel <[EMAIL PROTECTED]> writes:
> Joseph F. Ryan wrote:
>> St�phane Payrard wrote:
>> >
>> >I think that arrays and associative tables are very
>> >different entities for two reasons:
>> > -type of keys. array keys are integers
>> > -cost of insertion and deletion operations: O(n) and
>> > lower for associative table ( O(1) if you don't care
>> > for key ordering, O(log(n)) if you care for ordering).
>> >
>> >This is enough to warrant different syntaxes for arrays and hash.
>>
>> I'm sure I'll get shot for saying this, but no it doesn't.
>> PHP arrays are simply associative arrays with a integer as
>> the key value.
>
> What was the reason again which Larry rejected unifying the syntax for array
> and hash indexing? As Piers said, we know whether $a is an array or hash
> reference when we do:
>
> print $a->{foo};
But as someone else pointed out, there may be classes that have both
hashlike and arraylike interfaces. For instance:
my $queue = SomeQueue.new;
$queue.push('foo');
$queue.push('bar');
$queue.push('baz');
my $index_of_foo = $queue{'foo'}; # undef if no foo in queue.
--
Piers