Re: Dereferencing an array.
| From: | Alex Nikitin | Date: | Thu, 15 Sep 2011 01:34:14 +0000 |
| Subject: | Re: Dereferencing an array. | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-314862@lists.php.net to get a copy of this message | ||
it's only marginally faster, but it does look a bit cleaner, and is a
bit more memory efficient:
$records[] = unserialize(serialize($boundParams));
--
The trouble with programmers is that you can never tell what a
programmer is doing until it’s too late. ~Seymour Cray
On Wed, Sep 14, 2011 at 6:36 PM, Richard Quadling <rquadling@gmail.com> wrote:
> Hi.
>
> Based upon ...
>
> <?php
> $name = Null;
> $age = Null;
> $boundParams = array('name' => &$name, 'age' => &$age);
> $records = array();
>
> $name = 'Richard';
> $age = 43;
> $records[] = $boundParams;
>
> $name = 'Sally';
> $age = 37;
> $records[] = $boundParams;
>
> print_r($records);
> ?>
>
> outputs Sally twice.
>
> Whilst that is the correct output based upon the code, it is undesired.
>
> I want the boundParams to have the references (the actual data from my
> mysqli_stmt::fetch() with bound results), but I want to be able to
> copy the values and not maintain the references.
>
>
> The best I've come up with is ...
>
> <?php
> $name = Null;
> $age = Null;
> $boundParams = array('name' => &$name, 'age' => &$age);
> $records = array();
>
>
> $columns = array_keys($boundParams);
>
> $name = 'Richard';
> $age = 43;
> //$records[] = $boundParams;
> $records[] = array_combine($columns,
> array_map(function($m_Value){return $m_Value;}, $boundParams));
>
> $name = 'Sally';
> $age = 37;
> //$records[] = $boundParams;
> $records[] = array_combine($columns,
> array_map(function($m_Value){return $m_Value;}, $boundParams));
>
> print_r($records);
> ?>
>
> Is there a more efficient way?
> --
> Richard Quadling
> Twitter : EE : Zend : PHPDoc
> @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>