如何在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-

但请注意,它不会进行严格的比较。