PHP nonalpha tutorial

由于本人最近正在深入学习PHP的各种奇葩属性,碰巧在乌云上看到了一篇讲解php无字母数字编程的教程,然而文章是因为,而小编我的英文着实让人捉急,于是拜托我的小伙伴翻译供大家查阅。

PHP非字母数字编程

    我的第一份关于PHP非字母数字代码的工作很短暂,沉浸在此项发现的激动之中,我没能将其程序深入细化。我决定写一个教程,希望能够为想要学习或改进这项技术的人更好地解释该程序。

    PHP非字母数字代码的基础是利用这样的一个事实:当用于字符串的环境下时,PHP能够将阵列(Arrays)自动转化为字符串“阵列”。举一个简单的例子:

$x 在这里就是字符串“阵列”。但你会发现,如果使用非字母数字字符,我们还可以不使用数组()来构建一个阵列,如下例:

第一部分构建了一个变量“$_”,第二部分通过在一个空格串前使用前缀运算符来转换成0进而引入了0,此赋值就构建了阵列。这是我第一次写它,也是我对设计一个阵列的程序的初次尝试,但你还可以使用所有的方法和窍门,比如不使用“0”的部分。

我会让你去试验以寻求构建阵列的方法,但你首先要明白这一概念。我们有了字符“A”、“r”、“r”等等,现在我们需要做的是将他们接入,幸运的是就这一方面来说PHP与“Java描述语言”十分相似。第一步是通过用空白字符串串接阵列,将阵列强行置码成为实际的字符串,像这样:

下一步是实际接入一个字母,PHP为我们提供了与Java描述语言相同的相当便利的接入方法。为此我们需要0,正如我在前面所指出的,使用一个空格串和前缀运算符就可以转换成0,也就如Java描述语言。

使用0我们现在就可以接入转化后的阵列中的字母“A”。

现在由于我也是才在研究这一技术,我在多字符问题上进行了一些疯狂的数学运算来得到除阵列之外的其他字符,但据Stefan Esser所指出的这并不必要:你可以很简单地增加或减少字符串。但不管怎么说我还是得出了字母结果,通过嵌套来使所有字符循环的方法。如果之后我还能得到这种描述语言,我就会把它公布。但就目前,我们只能简单增加或减少所需的字符。下面我先告诉你怎么得到字母“B”。

这就是它运作的基本原理,我们只需要建立一个字符串来调用诸如“chr”或手动产生字符的功能,然后用一个字符串宏指令基础功能来调用我们的代码。最初的公示使用的是GET,但由于那早已经有文件记录了所以我想告诉你怎样生成不同的代码。我们讲使用PHP功能“判断提示”,因为它可以评估代码并且它可以在字符串引用其名称时被允许调用。例如:

因此我们需要生成“判断提示”和我们要调用的代码。使用来自于先前我们生成的“阵列”的模板,我们可以很容易地构建新的引用,增加我们所需的字符。

你最后会发现有些缺失的字符,“p”,“i”和“n”是给你来用上面描述的技术来生成的字母。在那之后还有一些挑战,比如你要问自己“要生成非字母数字代码的最少字符要求是多少?”另一个挑战是“要构建一个非字母数字代码生成器所需的最小字符总数是多少?”希望你会喜欢以上所写,享受用非字母PHP来创造和寻找新事物!

小编语:本人在经过思考以及询问有关大神后,大致了解了非字母数字代码编程的过程。首先通过空白字符串构造一个数组,再把这个数组类型名,就是Array,转变成一个字符串,类似于强制转换类型。接着取出这个字符串里的字母,通过累加的方式来获得其它字母,例如A+1 = B,但到达一个值时就会增长位数。也就是说,这样可以构造任意字符串。试想不那么偏执一定非不使用字母数字,要是构造一个for循环就能很快速的达到我们需要的字符串,领用这种特性来构造后门也是一种不错的技巧。

本着服务大众的想法就有了此文,本来想自己翻译的,不过谷歌字典着实费力,在此再一次感谢自己的小伙伴!顺便祝愿我的小伙伴和她的小先生天天开心!不被现实击倒,好好学习,天天向上!

日币奖励:

本文为原创译文、首发,根据本站积分规则给予日币奖励共5枚。

 

AD:本站开放投稿及积分(日币),日币可兑换实物奖励,每月top3可获得礼品一份。

 

注:近期因为某些原因,更新速度减慢,很快将恢复。

[via@thespanner]