Joe*_*oel 5 php refactoring if-statement
我知道必须有一个更好的方法来做到这一点,但每当我搜索"&&"我没有得到足够好的结果...
<?php
if (empty($row[ContactName]) && empty($row[ContactEmail]) && empty($row[ContactPhone]) && empty($row[Website])){
echo "Not Provided";
}
else{
...do stuff...
}
?>
Run Code Online (Sandbox Code Playgroud)
谢谢!
原始代码有什么问题?
<?php
if (empty($row[ContactName])
&& empty($row[ContactEmail])
&& empty($row[ContactPhone])
&& empty($row[Website]))
{
echo "Not Provided";
}
else{
...do stuff...
}
?>
Run Code Online (Sandbox Code Playgroud)
看起来像我的好代码......
<?php
$i=1;
$ar=array('ContactName','ContactEmail','ContactPhone','Website')
foreach($ar as $a)
if (empty($row[$a]))
{
$i=0;
break; //to make code fast
}
if($i) //do stuff
else echo 'not provided';
?>
Run Code Online (Sandbox Code Playgroud)
或者如果你真的想让你的代码变得更小,那么在数据库中更改你的列名
From To
ContactName Col1
ContactEmail Col2
ContactPhone Col3
Website Col4
Run Code Online (Sandbox Code Playgroud)
然后呢
<?php
$i=1;
for($a=1;$a<5;$a++)
if (empty($row['Col'.$a]))
{
$i=0;
break;
}
if($i)//do stuff
else echo 'Not Provided';
?>
Run Code Online (Sandbox Code Playgroud)
但是重命名列并不好,因为它会使您的数据库不太容易理解.