Mailinglisten-Archive |
Frank Limbrock wrote:
> Weiss jemand, welche Zeichen bei PHP in Variablennamen
> erlaubt sind? Ich kanns in der Doku nicht finden...
Steht auch nicht drin. Aber im Source steht es, genauer in
language-scanner.lex. Dort wird definiert:
LABEL [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
und weiter unten:
<IN_PHP>{LABEL} {
pval result;
if (!last_token_suggests_variable_reference()
&& php3_get_constant(yytext, yyleng, &result)) {
*phplval = result;
switch (result.type) {
case IS_LONG:
return LNUMBER;
break;
case IS_DOUBLE:
return DNUMBER;
break;
case IS_STRING:
return STRING_CONSTANT;
break;
}
} else {
phplval->value.str.val =
(char *)estrndup(yytext, yyleng);
phplval->value.str.len = yyleng;
phplval->type = IS_STRING;
return STRING;
}
}
Das führt natürlich zu einigen Skurrilitäten:
kk_(at)_poe ~/php3 $ ./php
<?php
$^? = "probe";
echo $^?;
Content-type: text/html
probe
kk_(at)_poe ~/php3 $
($Delete ist ein gültiger Variablenname in PHP, $0 nicht).
Kristian
--
Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
Using PHP3? See our web development library at
http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive