While that is a good way to approach arrays, you are actually guaranteed
to get the array back in the order you added the elements in PHP.

-Rasmus

On Wed, 30 Oct 2002, Philip Hallstrom wrote:

> Yes... for the most part... think about it this way... (and please correct
> me if I'm wrong :)
>
> An associative array isn't ordered.  It's key based.  Think of it like a
> dictionary, but one whose first and last several pages have been removed.
> You wouldn't have any way of telling me the definition for the 100th word
> since you don't know.  But you can tell me the definition of "foo" is by
> looking it up directly.
>
> And you're not guaranteed anything about their order since, well, they
> don't have any order :)  I know that in PHP you can do:
>
> $ary["y"] = "two";
> $ary["x"] = "one";
> print_r($ary);
>
> and you'll get back:
>
> Array
> (
>     [y] => two
>     [x] => one
> )
>
> but you're not *guaranteed* to get it back in the same order you supplied
> it.  It just happens that you do in PHP.  Back when I used Perl you
> wouldn't necessarily get the same order repeatedly.
>
> hope this helps.
>
> On Wed, 30 Oct 2002, PHP List wrote:
>
> > So are you saying there really is no array pointer?
> > Lets say I have an array with several different values like:
> > $myarray["a"] = "s";
> > $myarray[3] = "d";
> > $myarray["sdf"] = "y";
> > There is no way of saying give me the value in the array at position 2?
> > Since the size of the array is returned as 3, should there not be a way of
> > doing this?
> >
> > Like I said, I seem to be blanking on arrays.
> >
> > > Because you haven't put anything in array index 0.  The only array index
> > > that has anything is "test".  There is no difference between numeric and
> > > string indices.  You seem to be assuming that somehow the first element in
> > > an array can always be accessed as index 0 which is not the case and never
> > > has been.
> > >
> > > -Rasmus
> > >
> > > On Wed, 30 Oct 2002, PHP List wrote:
> > >
> > > > For some reason my brain is not operating within normal parameters this
> > week.
> > > >
> > > > $myarray["test"] = "sd";
> > > > echo $myarray[0];
> > > >
> > > > Why will nothing echo? Do I somehow have to initialize indexing on the
> > array $myarray?
> > > > php says that $myarray is an array, but I can't access it with numeric
> > indexes.
> > > >
> > > > I know if I do this:
> > > > $myarray = array("test"=>"sd");
> > > > that I can now echo $myarray[0] and get the value of sd returned.
> > > >
> > > >
> > >
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to