我目前正在制作一个非常基本的CMS,而不是使用简单的PHP和MySQL查询的OOP。在网站的CMS部分,我有更新网站内容的表单,我根据导航中选择的项目显示某些字段 - 通过在URL中传递项目ID并使用_GET变量查询它。我想要一个'作者'输入只显示两个项目,我使用下面的代码只显示它的值不等于这三个数字......
<?php if(($current_page["subject_id"] != 16) && ($current_page["id"] != 7) && ($current_page["id"] != 10)) {?>
有更简单的方法吗?我知道成为一名优秀编码员的重点是简化代码...我认为我没有完成这个代码。
答案 0 :(得分:1)
该代码是基本的。如果你想让事情变得更简单,那么你可以将$current_page["id"]
分配给另一个变量来摆脱数组访问开销,但实际上,这并不值得一提(除非你的数组很大,但仍然即便如此,它还没有做很多事情。使用已建议的in_array
这样的函数在速度或简单性方面也没有那么好。我说保持就像你一样。
另一方面,如果你不仅仅在if语句中访问那些数组,那么将它们分配给变量是个好主意。否则,你所拥有的就是好的。
答案 1 :(得分:0)
您可以在这里使用in_array。
例如:
<?php
$id=array('7','10');
if(($current_page["subject_id"] != 16) && !in_Array($current_page["id"],$id)) {?>
如果您有多个ID,则只需将ID传递给$ id。