我从来没有成为控制结构中括号的粉丝,直到今天我才意识到它如何只接受一个括号中的一个语句,如果我有多个语句就会引发语法错误.这是
PHP的工作方式,还是我的IDE有问题?
显然错误很明显,但我只是想确保这是正常的.
如果您有其他任何其他替代语法的链接,请告诉我.
贝娄只是我从项目中粘贴的东西和语法错误的例子.
if($this->reel3 = 1) parent::addCash($this->$bet*2); print(parent::getCash()); // < Line throwing the Syntax error else // Todo
编辑(FURTHERMORE)
在看了一些答案和评论后,我想知道它是如何在专业环境中完成的,我知道这更多是关于品味,但我想从专业人士那里知道语法的风格是否重要?
将
if(condition) { //something } else { //something }
比…更好
if(condition): //something else: //something endif;
或任何其他方式编写相同的代码?
解决方法
这就是PHP的工作原理.如果不在if语句周围放置括号,则只有下一个语句位于if块中,所有其他后续语句都不在其中.但是,由于你之后有一个else块,你会收到一个错误.
(顺便说一下:你在if块中做了一个赋值,所以这将永远是真的)
看看这两个例子:
if($this->reel3 = 1) parent::addCash($this->$bet*2); //In the if statement print(parent::getCash()); //Outside the if statement else
与…一样:
if($this->reel3 = 1) { parent::addCash($this->$bet*2); } print(parent::getCash()); //^^^^^ I think here it's more clear to see that this will give you a error,since it's between the if and else block which is not allowed else { }
有关控制结构的更多信息,请参见手册:http://php.net/manual/en/control-structures.if.php