【发布时间】:2020-01-07 12:12:05
【问题描述】:
我无法让计数条件正常工作。目前,无论我上传一个还是多个文件,“多个文件”的第一个条件都在运行。第二部分永远不会运行。
如果只上传了一个文件,我还需要做些什么来运行条件的第二部分吗?
$fu = new fileUpload();
$filename = $fu->upload();
$out = (count($filename) ? 'Multiple files were' : 'A file was'). ' uploaded. You can download ' . (count($filename) ? 'them' : 'the file'). ' from:</ul>';
【问题讨论】:
-
你为什么要使用这样的三元组?三元语句旨在减少仍然可以通过三元读取的代码行。这是 100% 不可读的 - 对 if 语句使用完整的语法。
-
手册说:注意:建议你避免“堆叠”三元表达式。在单个语句中使用多个三元运算符时 PHP 的行为并不明显
-
@Andreas 那么,我应该把它变成一个普通的 if 语句吗?
-
这完全取决于您。如果您可以忍受显示的错误消息,请保持原样。但是,如果您想要可读且可靠的代码,请更改它。
标签: php conditional-statements ternary-operator