赋值中的php比较运算符

我在网上看到一个小的 php 测验,其中包含以下代码:

$somevalue[[ 2 <=['-']=> 2][1]] = $somestring;

我的问题是,作业前的部分是做什么的?

$somevalue[[ 2 <=['-']=> 2][1]]

<=看起来像比较运算符,但在这种情况下,它2'-'?


动漫人物
浏览 177回答 2
2回答

LEATH

PHP 的数组初始化语法如下所示:$arr&nbsp;=&nbsp;[&nbsp;key&nbsp;=>&nbsp;value&nbsp;];所以在这部分:2&nbsp;<=['-']=>&nbsp;2'key' 是表达式的结果2 <= ['-'],根据本页,它的计算结果为true(数组总是大于您所比较的值,除非它是另一个数组)。因为 PHP 数组键要么是整数要么是字符串,所以布尔结果被隐式转换为 integer&nbsp;1,所以你最终得到:1&nbsp;=>&nbsp;2所以简化表达式:[&nbsp;1&nbsp;=>&nbsp;2&nbsp;][1]将计算我们刚刚创建的数组的第二个元素(PHP 数组是基于 0 的),因此这将简化为:2所以最后我们得到了:$somevalue[2]&nbsp;=&nbsp;$somestring;

叮当猫咪

要理解这一点,您需要将语句分成几部分,echo&nbsp;2&nbsp;<=['-'];//return&nbsp;truePHP 比较运算符在此之后,声明将是$somevalue[[1&nbsp;=>&nbsp;2][1]]&nbsp;=&nbsp;$somestring;在这里您可以看到array索引1具有 values&nbsp;2。在这之后的最后一个索引是1,[1 => 2]它将从数组中返回2,所以最后你将有$somevalue[2]&nbsp;=&nbsp;$somestring;
打开App,查看更多内容
随时随地看视频慕课网APP