我正在尝试为网站页面上的某些元标记定义值,但是,我不一定要在每个页面上都定义它们。
<?php if ($_SERVER['SCRIPT_NAME'] != '/index.html'): ?>
<meta name="description" content="<?php echo $page_info; ?>"/> }
<?php endif; ?>
如您所见,我已将其设置为在除 index.html 之外的每个页面上进行解析,但是,我还想创建以下条件:
仅在定义了 $page_info 时才会解析,否则将不会解析
php if
中的任何内容。 最佳答案
您是否正在寻找 isset()
函数?
<?php if ( isset( $page_info ) && $php_info ): ?>
<meta name="description" content="<?php echo $page_info; ?>"/> }
<?php endif; ?>
Check out the docs for some more info on
isset()
.我在这里使用的条件表达式检查是否存在名为
$page_info
的变量 和 ,它不是“假”值。假值是任何当转换为 boolean 时可以被视为假值的东西,例如(取自 docs ):我可以提出的另一个建议是不要明确测试要排除的页面。而是构建一个包含所有要排除的页面的数组,然后使用
in_array()
调用来检测它是否在列表中:$exclude_url = array(
'/index.html',
'/about.html'
'/faq.html'
);
if ( !in_array( $_SERVER[ 'SCRIPT_NAME' ], $exclude_url ) ){
// page should NOT be excluded!
}
关于仅在定义时才在页面上解析 PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17264490/