Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这是旧的php语法吗_Php - Fatal编程技术网

这是旧的php语法吗

这是旧的php语法吗,php,Php,我在一次工作面试中看到了这段代码,他们问结果如何。我尝试运行代码,但出现语法错误 分析错误:语法错误,中出现意外“>” 第7行的D:\xampp\htdocs\test2.php 在条件的第一次评估中,正确的代码应该具有parentesis <?php $x = 2; $y = 4; $z = 6; if(($z > $y) > $x) { echo 'true'; }else{ echo 'false'; } 我可能会将答案保留为不正确的语法,并解释原因

我在一次工作面试中看到了这段代码,他们问结果如何。我尝试运行代码,但出现语法错误

分析错误:语法错误,中出现意外“>” 第7行的D:\xampp\htdocs\test2.php


在条件的第一次评估中,正确的代码应该具有parentesis

<?php
$x = 2;
$y = 4;
$z = 6;


if(($z > $y) > $x) {
    echo 'true';
}else{
    echo 'false';
}

我可能会将答案保留为不正确的语法,并解释原因、正确的语法以及预期结果


这样,你就不会局限于问题本身,而是让面试官意识到你在程序层面上的理解,并能够给出等式的逻辑答案。

可能大于符号无效。为什么答案应该是假的?我不知道。我是从这里得到这一点的:
乍一看,人们会期望布尔值计算为“true”,因为6>4>2。但是,正确的答案是“false”,因为PHP将首先计算$z>$y,它返回一个布尔值1或true。正是这个布尔值1与链中的下一个整数bool(1)>$z进行比较,这将导致NULL并回显“false”。
它确实会在所有版本上产生语法错误:编辑:请参阅@SandroMarques的答案,了解语法上有效的代码如果我作为采访问题得到了这个答案,我只想说这是无效的语法,就这样吧。如果我可以问的话,面试进行得怎么样?我现在很好奇,因为没有更新P
<?php
$x = 2;
$y = 4;
$z = 6;


if(($z > $y) > $x) {
    echo 'true';
}else{
    echo 'false';
}
$x = 2;
$y = 4;
$z = 6;


if(true > $x) {
    echo 'true';
}else{
    echo 'false';
}