大发现!!!大发现!!!

php的变量名能用中文!!!!!!
<?php
$老虎会游泳='老虎说我会游泳';
echo $老虎会游泳;
?>
@老虎会游泳 
回复列表(7|隐藏机器人聊天)
  • @Ta / 2012-08-12 / /
    老虎以前在正则教程中就提过了…
  • @Ta / 2012-08-12 / /
    早懂了
  • @Ta / 2012-08-12 / /
    PHP的合法变量名用正则表示是
    \$[a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*
    UTF-8中文完全属于\x7F-\xFF,所以可以正常使用
    GBK的某些生僻字的第二字节小于\x7F,所以GBK编码下某些汉字不能用。
  • @Ta / 2012-08-12 / /
    不只变量,PHP的函数名、常量名等所有标识符都符合楼下的规则(除了前面不要$)
  • @Ta / 2012-08-12 / /
    @幻阳化翼-小李,@浪人,你们知道原因吗?其实目前的PHP并不认识汉字,它只是把汉字当成“ISO-8859-1”编码的西方文字处理而已(在x.gg空间没有配置.htaccess时出现的乱码就是因为浏览器把中文当成ISO-8859-1编码显示了)。
    所以,你不能在GBK编码的文件中调用一个用UTF-8编码的中文命名的函数或变量,除非使用魔术函数($a=mb_convert('测试函数','utf-8','gbk'); $a(10000,10086,10010);)。
  • @Ta / 2012-08-12 / /
    这是hu60wap6中某个类的部分代码
    <?php
    /*str类,字符串处理类*/
    class str
    {
    protected static $星期=array('天','一','二','三','四','五','六','日');
    /**
    * 取得数字(0-6或1-7)对应的星期汉字
    * 如果是0-6(用date('w')取得),0会得到“天”
    * 如果是1-7(用date('N')取得,7会得到“日”)
    * 所以可以自由选择使用“星期天”或“星期日”
    */
    static function 星期($num) {
    return self::$星期[$num];
     }
    static function 时间差($t)
    {
    if($t<60) return $t.'秒';
    $t=round($t/60);
    if($t<60) return $t.'分钟';
    $t=round($t/60);
    if($t<24) return $t.'小时';
    $t=round($t/24);
    return $t.'天';
    }
    static function 匹配汉字($str,$extra='')
    {
    $preg='/^[\x{4e00}-\x{9fa5}'.$extra.'] $/u';
    return preg_match($preg,$str);
    }
    //……
    }
添加新回复
回复需要登录