如何缩短 PHP 中的所有这些 && 运算符?
How can I shorten all these && operators in PHP?
我总是对如何在 PHP 中缩短运算符感到困惑。他们工作,但我相信它可以更简单。一个例子是:
if ($page->template->id == 44 && $page->id != 1020 && $page->id != 1021 && $page->id != 1022 && $page->id != 1023) echo "do something";
现在在我的脑海里会是:
如果模板id等于44,页面id等于1020或1021或1022或1023做某事
可能无法缩短,但我觉得很长。
干杯。
$ids = [1020,1021,1022,1023];
if ($page->template->id == 44 && ! in_array( $page->id, $ids )) echo "do something"
要测试页面是否等于 1020 或 1021 或 1022 或 1023,您可以使用
if(in_array($page->id, [1020, 1021, 1022, 1023])){} // PHP 5.4+
if(in_array($page->id, array(1020, 1021, 1022, 1023))){} // PHP 5.3-
但请注意,它不会进行严格比较。
我总是对如何在 PHP 中缩短运算符感到困惑。他们工作,但我相信它可以更简单。一个例子是:
if ($page->template->id == 44 && $page->id != 1020 && $page->id != 1021 && $page->id != 1022 && $page->id != 1023) echo "do something";
现在在我的脑海里会是:
如果模板id等于44,页面id等于1020或1021或1022或1023做某事
可能无法缩短,但我觉得很长。
干杯。
$ids = [1020,1021,1022,1023];
if ($page->template->id == 44 && ! in_array( $page->id, $ids )) echo "do something"
要测试页面是否等于 1020 或 1021 或 1022 或 1023,您可以使用
if(in_array($page->id, [1020, 1021, 1022, 1023])){} // PHP 5.4+
if(in_array($page->id, array(1020, 1021, 1022, 1023))){} // PHP 5.3-
但请注意,它不会进行严格比较。