见过没有字母和数字的PHP程序吗

你见过没有英文字母和数字的PHP 程序吗? 这是可能的吗? Gareth Heys有一篇教学文件 ,示范如何不使用英文字母和数字,创造出PHP的变量、字符串、数字、阵列等。 Alex Inführ 以此为基础,构思了创造PHP函式的方法 ,他的程式只用了7个不同的字符:$_=+();

首先看看怎样创造一个变量,PHP 容许我们在变量名称中使用_ (underscore),所以我们可以使用$_、$__ 等等作为变量名称。

怎样创造一个数字呢? 有几个方法,首先,未定义的变量PHP 都预设为0,只要​​使用足够多的++ 运算子,多大的数字也可以造出来。

$_=++$_+(++$_);$_=++$_+(++$_);

便会把变量$_ 设定为9。

另一个方法是依靠PHP 把空白字符串转换为0 这个特性,例如:

$_=+""

创造阵列也不难:

$_="";
$_[+""]='';

第1 行创造变量$_,第2 行借着设定第0 个元素的值来创造一个阵列。

字符串又怎样造呢? PHP 在特定的情况下会替我们产生一些字符串,例如把一个阵列变量放在一个字符串表达式中,PHP 会把这个阵列转换成「Array」:

$_="";
$_[+""]='';
$_=$_."";

第3 行把阵列放在一个字符串表达式中,创造出「Array」字符串。

另一个方法是把变量$_ 加到无穷大(使用很多+ 和++),这时$_ 便储存着常数INF,PHP 会把函式_() 视为gettext() 的别名,利用这个函示可把常数INF 变为字符串「INF」。

$_=_($_);

毫无疑问地这样写程式很累,程式码也很庞大,Alex Inführ 的PHP 程式只用$_=+(); 七个字符写成log() 函式,长度达46 KB,所以除了作为工余的消遣外,不要在工作上使用上述的技术。 (我警告你了,老板怪罪下来不要找我)

打赏此文

如果您觉得本站的内容对您有所帮助,您可以扫描下面的二维码小额支付请我喝杯茶,感谢!打赏记录
支付宝
微信
承诺:凡打赏捐助的朋友,留言备注自己的邮箱,在打赏捐助时间点的6个月内,本站会每周邮件推送原创专业技术博文,供大家学习和参考!

6 条评论

  1. 23摄氏度说道:

    看起来很有意思,_get新技能,哈哈,谢谢

  2. 字研字禹说道:

    文章很新鲜!感谢作者.

留下评论

All fields marked (*) are required