检查未定义php变量的最佳实践?
在菜单页面上,我有一个检查未定义php变量的最佳实践?,php,variables,undefined,Php,Variables,Undefined,在菜单页面上,我有一个 class='$ActiveAbout' 在我定义的另一页上 $ActiveAbout = 'active' 我还有$ActiveSite,$ActiveHome,$ActiveAdd,等等,所以一次只使用其中一个。执行此操作将导致通知:未定义变量:ActiveSite消息 到目前为止,我可以看到两种解决方案 $ActiveSite = $ActiveSite ?? ''; if(!isset($ActiveSite)) {$ActiveSite = '';} 这
class='$ActiveAbout'
在我定义的另一页上
$ActiveAbout = 'active'
我还有$ActiveSite
,$ActiveHome
,$ActiveAdd
,等等,所以一次只使用其中一个。执行此操作将导致通知:未定义变量:ActiveSite消息
到目前为止,我可以看到两种解决方案
$ActiveSite = $ActiveSite ?? '';
if(!isset($ActiveSite)) {$ActiveSite = '';}
这些是我最好的选择吗?这是一个更好的方式来查看它是否未设置
目前正在使用PHP5.6,但将转到PHP7
其他信息:
这要容易得多:
然后在home.php上,我会使用:$AboutHome='active',然后在菜单页面上,它会填充该变量,而另外两个变量则是空的,因为它们没有设置,因此它们不会获得“active”样式。使用单个变量
$active
,稍后您将对其进行测试
$active = 'about';
...
<div id='about' <?php if ($active == 'about') echo "class='active'"; ?>>
只需在开始时初始化所有变量,然后分配需要激活的变量。为什么不只使用单个变量
$active
,将其设置为about
,site
,等等?这样做要容易得多:
<div id='about' class='<?php if ($active == 'about') echo "active"; ?>'>