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