Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的PHP的更简单版本_Php_Mysql_If Statement - Fatal编程技术网

我的PHP的更简单版本

我的PHP的更简单版本,php,mysql,if-statement,Php,Mysql,If Statement,我目前正在制作一个非常基本的CMS,不使用OOP,只使用简单的PHP和MySQL查询。在网站的CMS部分,我有更新网站内容的表单,并且根据在导航中选择的项目显示某些字段-通过在URL中传递项目ID并使用_GET变量进行查询。我试图让“作者”输入仅在两个项目上显示,我使用下面的代码仅在其值不等于这三个数字时显示它 <?php if(($current_page["subject_id"] != 16) && ($current_page["id"] != 7) &&

我目前正在制作一个非常基本的CMS,不使用OOP,只使用简单的PHP和MySQL查询。在网站的CMS部分,我有更新网站内容的表单,并且根据在导航中选择的项目显示某些字段-通过在URL中传递项目ID并使用_GET变量进行查询。我试图让“作者”输入仅在两个项目上显示,我使用下面的代码仅在其值不等于这三个数字时显示它

 <?php if(($current_page["subject_id"] != 16) && ($current_page["id"] != 7) && ($current_page["id"] != 10)) {?>

有没有更简单的方法?我知道做一个好的程序员的关键是简化代码。。。我想我这次失败了。

你可以用这里

例如:

<?php
$id=array('7','10');
if(($current_page["subject_id"] != 16) && !in_Array($current_page["id"],$id)) {?>


如果您有许多id,只需将id传递给$id即可。

该代码非常基本。如果您想让事情变得简单一点,那么可以将
$current_page[“id”]
分配给另一个变量,以消除数组访问开销,但实际上,这一点不值得一提(除非您的数组很大,而且即使这样,它也做得不多)。在_array中使用类似于
的函数在速度和简单性方面也没有太大的改进。我要说的是,保持原样


另一方面,如果您访问这些数组不仅仅是在if语句中,那么最好将它们分配给变量。否则,你所拥有的是好的。

这取决于你的逻辑的其余部分……”“好代码”不仅仅是像一些答案所认为的那样,接受一条语句并调整它的语法。使这个“更简单”或“更好”的第一步是消除对这些数字进行硬编码的需要。对于这一点,我们需要更多的背景(正如@Unreless所说的)。这几乎是一个狗屎秀,我不想太深入,我正在慢慢学习OOP,我相信一两年后我会回顾这个网站,并思考“我到底在想什么”。我很感激你的回答!!