我有一系列if
语句,我无法想出一个更好的方法来写这里是:
$a='';$b='';$c='';
if($row->nA!=0){
$a = $row->nA;
}
if($row->nB!=0){
$b = $row->nB;
}
if($row->nC!=0){
$b = $row->nC;
}
这很简单,但我找不到如何写得比这更好
答案 0 :(得分:2)
你的方式没有任何完全错误。 如果你想写别的东西,试试这样:
$a = ($row->nA != 0) ? $row-nA : '';
$b = ($row->nB != 0) ? $row-nB : '';
$c = ($row->nC != 0) ? $row-nC : '';
但是,就像我说的那样,你的方式没有错;)
答案 1 :(得分:1)
Sascha Presnac是对的 - 你这样做的方式没有任何问题。但是,如果您稍微整理一下代码可能会有用。
$a = '';
$b = '';
$c = '';
if ($row->nA != 0) {
$a = $row->nA;
}
if ($row->nB != 0) {
$b = $row->nB;
}
if ($row->nC != 0) {
$b = $row->nC;
}
使用额外的行来编写代码不是问题。最好是分散和易读,而不是碾碎和难以阅读:)。但是如果你想尽可能少地去做,那么就去Sacha Presnac的方法:)
答案 2 :(得分:0)
如果你有很多变量你可以用
来做$variables = ['a', 'b', 'c'];
foreach ($variables as $variable)
{
$$variable = ($row->{"n" . strtoupper($variable)} != 0) ? $row->{"n" . strtoupper($variable)} : '';
}