Re: PHP_SELF syntax
| From: | Ernest E Vogelsinger | Date: | Mon, 24 Feb 2003 21:44:41 +0000 |
| Subject: | Re: PHP_SELF syntax | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-136986@lists.php.net to get a copy of this message | ||
At 01:42 24.02.2003, Jason Lange spoke out and said:
--------------------[snip]--------------------
>What you might try is removing the single-quotes from around PHP_SELF.
>
>Before: $_SERVER['PHP_SELF']
>After: $_SERVER[PHP_SELF]
This is only valid if the array is contained within a double quoted string
- it will generate a parser warning outside a string (undefind constant
PHP_SELF).
>Another note: as far as I can tell you do not need the braces ({}) to
>enclose a variable within a double-quoted string. I may be wrong, but
>nothing I've read advocates doing this, and I've never had a problem
>with my code when I've written it this way.
The docs on strings
(http://www.php.net/manual/en/language.types.string.php) clearly states this:
"If a dollar sign ($) is encountered, the parser will greedily take as much
tokens as possible to form a valid variable name. Enclose the variable name
in curly braces if you want to explicitly specify the end of the name."
$fruits = array('strawberry' => 'red', 'banana' =>
'yellow');
// Works but note that this works differently outside string-quotes
echo "A banana is $fruits[banana].";
// Works
echo "A banana is {$fruits['banana']}.";
// Works but PHP looks for a constant named banana first
// as described below.
echo "A banana is {$fruits[banana]}.";
// Won't work, use braces. This results in a parse error.
echo "A banana is $fruits['banana'].";
// Works
echo "A banana is " . $fruits['banana'] . ".";
--
>O Ernest E. Vogelsinger
(\) ICQ #13394035
^ http://www.vogelsinger.at/