On Tue, Oct 18, 2011 at 10:09:37PM +0200, Arnaud Le Blanc wrote:
> Hi,
>
> Le Monday 17 October 2011 15:07:30, Alain Williams a écrit :
> > On Fri, Oct 14, 2011 at 08:08:56PM +0200, Arnaud Le Blanc wrote:
> > > Hi,
> > >
> > > I've already posted this patch and it has since been reviewed and
> > > improved. I'm re-posting it for discussion before eventually commiting
> > > it.
> > >
> > > The ternary operator always copies its second or third operand, which is
> > > very
> >
> > > slow compared to an if/else when the operand is an array for example:
> > Is that why the following does not work as I expected:
> >
> > $dbh = $how == 'r' ? (&$dbh_r) : (&$dbh_w);
> >
> > $dbh is NOT a reference to $dbh_r or $dbh_w.
>
> This is expected;
> http://docs.php.net/manual/en/language.operators.comparison.php explains it:
It probably does, but it is quite subtle. I was expecting the above to work
since
it does in C -- although in C &variable is an address which can be used in an
expression ... the PHP '&' operator is different, in spite of apparent
similarities.
Explained here, but still ....
http://docs.php.net/manual/en/language.references.arent.php
> > Please note that the ternary operator is a statement, and that it doesn't
> evaluate to a variable, but to the result of a statement.
I'm not complaining.
--
Alain Williams
Linux/GNU Consultant - Mail systems, Web sites, Networking, Programmer, IT
Lecturer.
+44 (0) 787 668 0256 http://www.phcomp.co.uk/
Parliament Hill Computers Ltd. Registration Information:
http://www.phcomp.co.uk/contact.php
#include <std_disclaimer.h>
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php