已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 讨论/求助

标题: 大发现!!!大发现!!!

作者: @Ta

时间: 2012-08-12

点击: 2609

php的变量名能用中文!!!!!!
<?php
$老虎会游泳='老虎说我会游泳';
echo $老虎会游泳;
?>
@老虎会游泳 

[隐藏样式|查看源码]


『回复列表(7|隐藏机器人聊天)』

1. 老虎以前在正则教程中就提过了…
(/@Ta/2012-08-12 14:04//)

2. 早懂了
(/@Ta/2012-08-12 17:01//)

3. PHP的合法变量名用正则表示是
\$[a-zA-Z_\x7F-\xFF][a-zA-Z0-9_\x7F-\xFF]*
UTF-8中文完全属于\x7F-\xFF,所以可以正常使用
GBK的某些生僻字的第二字节小于\x7F,所以GBK编码下某些汉字不能用。
(/@Ta/2012-08-12 18:28//)

4. 不只变量,PHP的函数名、常量名等所有标识符都符合楼下的规则(除了前面不要$)
(/@Ta/2012-08-12 18:30//)

5. @幻阳化翼-小李,@浪人,你们知道原因吗?其实目前的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 18:38//)

6. 查看PHP手册中的原话
(/@Ta/2012-08-12 18:45//)

7. 这是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);
}
//……
}
(/@Ta/2012-08-12 18:52//)

回复需要登录

8月24日 02:16 星期天

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1