使用数组简化检查If语句中的多个PHP页面
问题:使用数组简化检查If语句中的多个PHP页面,php,arrays,if-statement,Php,Arrays,If Statement,问题: if (substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-c.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-g.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-j.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) =
if (substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-c.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-g.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-j.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-n.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-q.php")
{
echo 'Hello';
}
优化PHP代码以在到达多个页面之一时打印代码
PHP代码:
if (substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-c.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-g.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-j.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-n.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-q.php")
{
echo 'Hello';
}
建议:
if (substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-c.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-g.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-j.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-n.php" || substr(strrchr($_SERVER['PHP_SELF'], '/'), 1) == "part-q.php")
{
echo 'Hello';
}
我在想,将所有页面放在一个数组中并检查您所在的页面是否存在于该数组中是否是一个好主意。如何解决这个问题的其他建议?是的,您是对的,您可以通过将所有页面放入数组并使用检查来减少代码
您还可以将文件放入txt文件中,该文件仅由服务器读取,并将其设置为CHMOD 0664,然后按如下方式列出文件: vPages.txt
part-c.php
part-g.php
part-j.php
part-n.php
part-q.php
然后运行一些代码,如Rikesh建议的:
$page = substr( strrchr( $_SERVER['PHP_SELF'], '/' ), 1 );
$vPages = file( './vPages.txt' );
if ( in_array( $page, $vPages ) ) {
// Seems legit...
}
您将能够轻松地编辑文件以包含更多有效页面