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 #178285 is a reply to message #178282] Sun, 27 May 2012 02:44 Go to previous messageGo to previous message
Leonardo Azpurua is currently offline  Leonardo Azpurua
Messages: 46
Registered: December 2010
Karma:
Member
"Thomas 'PointedEars' Lahn" <PointedEars(at)web(dot)de> escribió en el mensaje
news:1908618(dot)nuHmqJ5PAb(at)PointedEars(dot)de...
> 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
> )

A nice solution, thanks!

--
[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: Sun Nov 24 16:47:18 GMT 2024

Total time taken to generate the page: 0.03659 seconds