phpbar.de logo

Mailinglisten-Archive

[php] erlaubte Zeichen in Variablennamen?

[php] erlaubte Zeichen in Variablennamen?

Kristian =?iso-8859-1?Q?K=F6hntopp?= kk_(at)_netuse.de
Fri, 23 Apr 1999 14:33:51 +0200


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