我在网上看到了一个小型php测验,其中包含以下代码:
$somevalue[[ 2 <=['-']=> 2][1]] = $somestring;
Run Code Online (Sandbox Code Playgroud)
我的问题是,作业之前的那部分是做什么的?
$somevalue[[ 2 <=['-']=> 2][1]]
Run Code Online (Sandbox Code Playgroud)
<=看起来像比较运算符,但在这种情况下,它2与'-'?
PHP的数组初始化语法如下所示:
$arr = [ key => value ];
Run Code Online (Sandbox Code Playgroud)
所以在这一部分:
2 <=['-']=> 2
Run Code Online (Sandbox Code Playgroud)
“键”是表达式的结果2 <= ['-'],根据该页面的计算结果true(一个数组始终大于您要与之比较的数组,除非它是另一个数组)。因为PHP数组键是整数或字符串,所以布尔结果隐式转换为integer 1,因此最终得到:
1 => 2
Run Code Online (Sandbox Code Playgroud)
因此,简化表达式为:
[ 1 => 2 ][1]
Run Code Online (Sandbox Code Playgroud)
将评估我们刚刚创建的数组的第二个元素(PHP数组基于0),因此可以简化为:
2
Run Code Online (Sandbox Code Playgroud)
因此,最后我们得到:
$somevalue[2] = $somestring;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |