2つの配列があるとします$a, $b
。任意の時点で、それらの少なくとも1つが空でないか、両方が空ではありません。
次の条件を最適化するにはどうすればよいですか
if(!$a)
{
#TASK A
}
if(!b)
{
#TASK B
}
if ($a['item']<$b['item'])
{
#TASK A
}
else
{
#TASK B
}
プログラムでTASKAとBを2回繰り返さないようにします。
2つの配列があるとします$a, $b
。任意の時点で、それらの少なくとも1つが空でないか、両方が空ではありません。
次の条件を最適化するにはどうすればよいですか
if(!$a)
{
#TASK A
}
if(!b)
{
#TASK B
}
if ($a['item']<$b['item'])
{
#TASK A
}
else
{
#TASK B
}
プログラムでTASKAとBを2回繰り返さないようにします。
if(!$a || ($b && ($a['item'] < $b['item']))){
// task A
}
else{
// task B
}
if(!$a || ($b && ($a['item'] < $b['item']))){
// task A
}elseif(!$b || ($a && ($a['item'] >= $b['item']))){
// task B
}
変数が設定されていない可能性がある場合は、empty()
またはを使用してくださいisset()
これは機能しますが、最適ではない可能性があります。しかし、コードは実際には明確ではありません。TaskAとTaskBは$aと$bを変更しますか?
$aDone = false;
$bDone = false;
if(!$a)
{
#TASK A
$aDone = true;
}
if(!b)
{
#TASK B
$bDone = true;
}
if ($a['item'] < $b['item'])
{
if (!$aDone)
{
#TASK A
}
}
else
{
if (!$bDone)
{
#TASK B
}
}