三元运算符仅运行条件的第一部分

时间:2019-09-04 15:00:16

标签: php conditional-statements ternary-operator

我无法使计数条件正常工作。当前,无论我上传一个或多个文件,“多文件所在”的第一个条件都在运行。第二部分永远不会运行。

如果仅上传了一个文件,我是否还需要做其他事情才能使条件的第二部分运行?

$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>';

1 个答案:

答案 0 :(得分:4)

您的逻辑有误。

count($filename)解析为true,如果它不是0的任何值。

因此,无论是1个文件还是64个文件,第一部分都将始终解析为true。您需要:

count($filename) > 1 ?