【发布时间】:2018-11-30 21:25:59
【问题描述】:
我正在尝试使用三元运算符在包含文件而不是 if 语句之前检查文件的有效性;但由于某种原因页面返回空白,我无法使其正常工作。我错过了什么?
(is_file('connect.php')) ? include 'connect.php' : echo "erreur de chargement";
(is_file('header.html')) ? include 'header.html' : echo "erreur de chargement";
(is_file('nav.html')) ? include 'nav.html' : echo "erreur de chargement";
(is_file('table.html')) ? include 'table.html' : echo "erreur de chargement";
(is_file('footer.html')) ? include 'footer.html' : echo "erreur de chargement";
【问题讨论】:
-
启用错误报告。 php.net/manual/en/function.error-reporting.php 这会反弹什么?
-
echo是一个语句,而不是一个表达式。您不只是使用require有什么特别的原因吗? -
我不知道我只是养成了在插入文件或在函数中使用它们之前测试每个文件等的习惯,这样如果我的代码的某些部分由于某些原因而无法工作,我以后可以更轻松地解决问题丢失,或者如果在复制文件名时打错了等。但是你们是对的,在这种情况下,我可能会无缘无故地这样做。事实上,“回声”部分是这里的问题。因此,出于好奇,如果您想在文件不存在时获得我正在寻找的结果,那么您必须使用 if/else 语句而不是 this 运算符?
-
@gountaa,您是否在其中任何一个答案中找到了合适的解决方案?如果没有,请告诉我们更多信息。否则,请接受最适合您解决问题的解决方案 - 请参阅What should I do when someone answers my question?
标签: php include ternary-operator