【发布时间】:2017-08-15 12:10:14
【问题描述】:
我试图在后一种情况下使用三元输出来做两件事。
在增加错误计数后,我遇到的问题是在后一种情况下为变量设置文本值。
我尝试了一些方法,这里有两次尝试,但都无法设置 $errors_log 值。
问。如何在三元输出中设置变量值。
$errors_v=0;
if (validate_username() == false ? null : $errors_v++ && $errors_log='username invalid');
if ($errors_v != 0) {
echo $errors_log;
}
function validate_username() {
return true;
}
$errors_v=0;
$errors_log[];
if (validate_username() == false ? null : $errors_v++ && $errors_log[]='username invalid');
if ($errors_v != 0) {
var_dump($errors_log);
}
function validate_username() {
return true;
}
【问题讨论】:
-
你的代码必须是可读和可理解的目前不是。
-
想详细说明一下? @u_mulder
-
@u_mulder 是对的。这是可读的:
if (!validate_username()) { ... }。您的代码更难阅读,这需要额外的时间来查看它。坚持这两条规则,你的队友就会尊重你:DRY KISS = 不要重复自己,保持简单和愚蠢。 -
@AndrejsCainikovs 哈哈!我感到闷闷不乐。谢谢。使它变得比需要的更困难。我选择了
if (validate_username()){ $v++; $errors_log='username invalid';}并按预期工作。问候 >.