FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » How to construct an associative and numeric indexable array
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: How to construct an associative and numeric indexable array [message #178282 is a reply to message #178279] Sat, 26 May 2012 22:31 Go to previous messageGo to previous message
Thomas 'PointedEars'  is currently offline  Thomas 'PointedEars'
Messages: 701
Registered: October 2010
Karma:
Senior Member
Leonardo Azpurua wrote:

> "Michael Fesser" [wrote]:
>> .oO(Leonardo Azpurua)
>>> But when you use the array returned by sqlsrv_fetch_array, you can
>>> either write $arr["C1"] or $arr[0].
>>> Do you know how they do that?
>>
>> Such an array contains all values twice. There's no direct way to access
>> an element with an associative key also by a numeric index. For doing
>> that you would have to loop through the array until you've reached the
>> element you want.
>
> So that's how they do it!
>
> I just checked and in fact count($row) yields twice the number of columns
> in the result set.
>
> And it is anything but appealing as a "general" solution.

However, the array can also be created so that the value with the numeric
key is a reference to the value with the non-numeric key, or vice-versa.
Thereby the memory footprint of the array may be reduced; at least,
inconsistencies are avoided:

$ php -v
PHP 5.3.10-1 (cli) (built: Feb 3 2012 10:03:01)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with XCache v1.3.2, Copyright (c) 2005-2011, by mOo
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

$ phpsh -c
php> $a = array(); $a['foo'] = 'bar'; $a[0] =& $a['foo']; print_r($a);
Array
(
[foo] => bar
[0] => bar
)

php> $a[0] = 'baz'; print_r($a);
Array
(
[foo] => baz
[0] => baz
)


PointedEars
--
> If you get a bunch of authors […] that state the same "best practices"
> in any programming language, then you can bet who is wrong or right...
Not with javascript. Nonsense propagates like wildfire in this field.
-- Richard Cornford, comp.lang.javascript, 2011-11-14
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Overriding PHP INI Setting session.use_trans_sid=0
Next Topic: Saving a three-dimensional array to the mysql database.
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Thu Nov 28 10:04:48 GMT 2024

Total time taken to generate the page: 0.04048 seconds