PHP variable / function / class names using special characters

后端 未结 5 1537
忘了有多久
忘了有多久 2021-02-12 22:40

I understand that the underscore _ is an acceptable character for naming variables / functions / classes etc. However I was wondering if there are any other special

5条回答
  •  终归单人心
    2021-02-12 23:15

    If you check the docs on variables it says that:

    Variable names follow the same rules as other labels in PHP. A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

    But basically people have agreed to only use a-zA-Z0-9_ and not the "fancy" names since they might break depending in the encoding one uses.

    So you can have a variable that is named $aöäüÖÄ but if you save that with the wrong encoding you might run into trouble.


    The same goes for functions too btw.

    So

    function fooööö($aà) { echo $aà; }
    
    fooööö("hi"); // will just echo 'hi'
    

    will just work out (at least at first).


    Also check out:

    Exotic names for methods, constants, variables and fields - Bug or Feature?

    for some discussion on the subject.

提交回复
热议问题