Heim  >  Artikel  >  Backend-Entwicklung  >  请教个ASCII的问题

请教个ASCII的问题

WBOY
WBOYOriginal
2016-06-23 13:53:03878Durchsuche

在PHP手册看到匹配变量名的正则是:

 $pattern = '/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/';

变量名的命名规则是:
必须已字母开头,后面跟上数字、字母或下划线中的任意字符。

但是最上面的那个正则里,\x7f-\xff在ASCII码表里查不到呀,这129个码对应的又是什么呢?









回复讨论(解决方案)

字母是 a-z,A-Z,以及从 127 到 255(0x7f-0xff)的 ASCII 字符。

内码值在 0x80 ~ 0xff 之间的是 扩展ASCII 码,因为被汉字占用了,通常都看不到
不过你可以这要看到一部分

foreach(get_html_translation_table(HTML_ENTITIES) as $k=>$v) {  echo ord($k) . ' => ' . $v . '<br>';}

内码值在 0x80 ~ 0xff 之间的是 扩展ASCII 码,因为被汉字占用了,通常都看不到
不过你可以这要看到一部分

foreach(get_html_translation_table(HTML_ENTITIES) as $k=>$v) {  echo ord($k) . ' => ' . $v . '<br>';}


嗯嗯,弄明白了这些码是什么后还有一个问题,变量的命名不是说明了只能用数字、字母和下划线吗,我刚刚尝试了下声明了一个变量
$a⊥ = '123';echo $a⊥.'<br />';

是有输出的。这个与说明的限制是不是有点自相矛盾呀

字母是 a-z,A-Z,以及从 127 到 255(0x7f-0xff)的 ASCII 字符。



噢,这下明白了,一开始还有点不太理解。

十分感谢二位前辈!

$变量 = 'abc';
echo $变量;

汉字不也是字母吗?

$变量 = 'abc';
echo $变量;

汉字不也是字母吗?


懂了!知识学得不够全面,感谢提点!
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn