[thelist] single quotes and arrays

Volkan Özçelik volkan.ozcelik at gmail.com
Sun Apr 24 22:15:18 CDT 2016


> $title = 'daniel';
> $_GET['title'] = $title;
> echo $_GET['title'];

yup, correct.

thanks for the correction; forgot to add $ sign.

Cheers.

On Sun, Apr 24, 2016 at 7:58 PM Nadeem Hosenbokus <nadeem at nadeemh.com>
wrote:

> I may have misunderstood what you intended (apologies if so) but this code:
>
> title = 'daniel'
> $_GET[ title ]
>
> does not resolve to $_GET['daniel'].
>
> Its usage would be like this:
>
> $title = 'daniel';
> $_GET['title'] = $title;
> echo $_GET['title'];
>
> would print out "daniel".
>
> echo $_GET['daniel'] would result in some kind of error because the key
> isn't set in the array.
>
>
>
> Nadeem Hosenbokus
> (230) 5766 9169
> www.nadeemh.com
> http://mu.linkedin.com/in/nadeemhosenbokus
>
>
> -----Original Message-----
> From: thelist-bounces at lists.evolt.org [mailto:
> thelist-bounces at lists.evolt.org] On Behalf Of Volkan Özçelik
> Sent: 24 April 2016 06:08
> To: thelist at lists.evolt.org
> Subject: Re: [thelist] single quotes and arrays
>
> My guesstimate is:
>
> In `$pageid = $_GET[pageid];` you are doing a direct assignment and hence
> the PHP interpreter can get clever enough to "catch" what you meant.
>
> In ` ""<option value=\"$row['id']\">$row['title']</option>\n" ` however,
> it is string interpolation; so it’s an additional level of indirection, and
> PHP interpreter is not ready to infer what you meant and erring out.
>
> As a best practice you should always be using quoted attributes as not
> using them may be mixed with a variable with the same name. (
>
> e.g. `
>
> title = 'daniel'
> $_GET[ title ]
> `
> will resolve to $_GET['daniel'] which probably will be undefined.
>
> Just my 2c.
>
> Would love to hear other PHP experts’ ideas on that though.
>
>
>
> HTH.
>
> Volkan.
>
> On Sat, Apr 23, 2016 at 5:52 PM Garth Hagerman <hagerman at mcn.org> wrote:
>
> > Hi everybody-
> > Since The List is alive again (hooray!), here's a query.
> > I've been making the same boo-boo over and over for years. I have a
> > rote mechanical understanding of what to do about it, but I do not
> > understand the conceptual background.
> >
> > In PHP, I pass info to another page using a form. The page receiving
> > the info has a line like this:
> > $pageid = $_GET[pageid];
> >
> > This works, so there doesn't seem to be anything wrong, so I do it
> > over and over and over. But it logs something like this into the
> error_log:
> > "PHP Notice:  Use of undefined constant pageid - assumed 'pageid' ".
> >
> > Since this happens a lot, the error_log gets to be a very large file.
> >
> > So, I understand how to stop getting that notice: put single quotes
> > around pageid.
> > But why? pageid isn't a string, it's the name of an array element. If
> > I do the same single quote thing with other arrays, something like:
> > echo("<option value=\"$row['id']\">$row['title']</option>\n");
> >  it's a fatal error and the whole page explodes.
> >
> > I've tried to find a reasonable explanation online, but haven't found
> > anything which makes the little "eureka!" light over my head light up.
> >
> >   Thanks in advance
> >   Garth
> >
> >
> >                            * * * * * * * * * * * * * * * *
> >                                my online portfolio
> >
> >                           http://garthhagerman.com/
> >
> >
> > --
> >
> > * * Please support the community that supports you.  * *
> > http://evolt.org/help_support_evolt/
> >
> > For unsubscribe and other options, including the Tip Harvester and
> > archives of thelist go to: http://lists.evolt.org Workers of the Web,
> > evolt !
> >
> --
>
> * * Please support the community that supports you.  * *
> http://evolt.org/help_support_evolt/
>
> For unsubscribe and other options, including the Tip Harvester and
> archives of thelist go to: http://lists.evolt.org Workers of the Web,
> evolt !
>
> --
>
> * * Please support the community that supports you.  * *
> http://evolt.org/help_support_evolt/
>
> For unsubscribe and other options, including the Tip Harvester
> and archives of thelist go to: http://lists.evolt.org
> Workers of the Web, evolt !


More information about the thelist mailing list