Fatal error: Unparenthesized `a ? b : c ? d : e` is not supported. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in D:\WAMP\Apache24\htdocs\index.php on line 5
上面是错误的详细信息
今天php版本更新到php8之后刚运行时 php报了一个致命的错误 但在php7.2版本是没问题的
看这个错误信息应该这种写法有二义性 php不知道程序要表达的是哪一种
a ? b : c 这是一种常见的三元运算符 意思是如果 a成立那么结果就返回b 否则返回c
a ? b : c ? d : e 当你这么写时 程序就会有多种理解了
一种是 (a ? b : c) ? d : e 把前面的当做了一个整体
另一种是 a ? b : (c ? d : e) 把后面的当做了一个整体
在php8里就报了致命的错误
所以在书写的时候要规范 你想把那块当做一个整体先执行就把那块括起来表示是一个整体 这样的话意思就很明确程序也不会因为意思不明确而报错了