为了账号安全,请及时绑定邮箱和手机立即绑定

赋值中的php比较运算符

赋值中的php比较运算符

PHP
动漫人物 2021-10-22 15:21:35
我在网上看到一个小的 php 测验,其中包含以下代码:$somevalue[[ 2 <=['-']=> 2][1]] = $somestring;我的问题是,作业前的部分是做什么的?$somevalue[[ 2 <=['-']=> 2][1]]<=看起来像比较运算符,但在这种情况下,它2与'-'?
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

PHP 的数组初始化语法如下所示:

$arr = [ key => value ];

所以在这部分:

2 <=['-']=> 2

'key' 是表达式的结果2 <= ['-'],根据本页,它的计算结果为true(数组总是大于您所比较的值,除非它是另一个数组)。因为 PHP 数组键要么是整数要么是字符串,所以布尔结果被隐式转换为 integer 1,所以你最终得到:

1 => 2

所以简化表达式:

[ 1 => 2 ][1]

将计算我们刚刚创建的数组的第二个元素(PHP 数组是基于 0 的),因此这将简化为:

2

所以最后我们得到了:

$somevalue[2] = $somestring;


查看完整回答
反对 回复 2021-10-22
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

要理解这一点,您需要将语句分成几部分,

echo 2 <=['-'];//return true

PHP 比较运算符

在此之后,声明将是

$somevalue[[1 => 2][1]] = $somestring;

在这里您可以看到array索引1具有 values 2。在这之后的最后一个索引是1[1 => 2]它将从数组中返回2,所以最后你将有

$somevalue[2] = $somestring;


查看完整回答
反对 回复 2021-10-22
  • 2 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信