如何缩短所有这些&& amp; PHP中的运算符?

时间:2016-01-21 21:59:16

标签: php operators

我总是对如何缩短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做某事

它可能无法缩短,但对我来说只是感觉很长。

干杯。

2 个答案:

答案 0 :(得分:3)

$ids = [1020,1021,1022,1023];
if ($page->template->id == 44 && ! in_array( $page->id, $ids )) echo "do something"

答案 1 :(得分:2)

要测试页面是否等于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-

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