Re: Re: undefined variable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Mar 22, 2014 at 7:37 PM, Tim Streater <tim@xxxxxxxxxxxxxxxx> wrote:

> On 20 Feb 2014 at 12:28, Stuart Dallas <stuart@xxxxxxxx> wrote:
>
> > On 20 Feb 2014, at 12:25, Tim Streater <tim@xxxxxxxxxxxxxxxx> wrote:
> >
> >> and then later I do:
> >>
> >>  $str = "fcc: " . $PTR_fcc;
> >>
> >> Now, upon examination it appears that I have an instance where $str
> ends up
> >> as:
> >>
> >>  fcc: undefined
> >>
> >>
> >> My question is, under what conditions can a variable be set by the PHP
> system
> >> to the string "undefined"? Would this require that my ajax call in the
> >> browser would have to have had something explicit like:
> >>
> >>  ... &PTR_fcc=undefined …
> >
> > Not explicit as such, but that is what’s happening. Javascript will use
> the
> > string "undefined" whenever an undefined variable is concatenated on to a
> > string.
>
> How about if PTR_fcc is not so much undefined on the JavaScript side, as
> an empty string. So that I'm passing e.g. this, via AJAX:
>
>    ... &PTR_fcc=&myvar=27 ...
>
> What does that mean in my PHP script when I then do:
>
>    $PTR_fcc = isset($_POST['PTR_fcc'])==true ? $_POST['PTR_fcc'] : 0;
>
> i.e. what value does $_POST['PTR_fcc'] have?
>
>
>
> --
> Cheers  --  Tim
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

A variable is undefined if it was never initialized. In your question, the
value of $PTR_fcc would be empty "" because $_POST['PTR_fcc'] was
initialized to an empty string.

To validate for empty strings as well:

$PTR_fcc = !empty($_POST['PTR_fcc']) ? $_POST['PTR_fcc'] : 0;

Aziz

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux