我在网上找到了这段代码,我想知道它的作用:
$k[$i] = ord($key{$i}) & 0x1F;
Run Code Online (Sandbox Code Playgroud)
我知道ord()返回一个ASCII值,但我不清楚大括号的作用$key{$i}以及它的作用& 0x1F.
那不是数组语法.它仅用于从字符串访问单个字符.索引必须是数字.
$str{1} == $str[1]
Run Code Online (Sandbox Code Playgroud)
它在信息框中简要提到:http: //www.php.net/manual/en/language.types.string.php#language.types.string.substr
此外,它已正式宣布弃用.它已在手册中打开和关闭,但如果不常见,语法仍然非常有效.
这& 0x1F是一个有点明智的AND.在这种情况下,它将十进制值限制为0到31.