0
我知道PHP将未定义的变量视为null。但是,尽管如此,当我想使用一个未定义的变量时,它会抛出一个E_NOTICE错误,指出该变量未定义。为了防止这种情况,我应该将此E_NOTICE手动设置变量手动设置为空吗?是否有必要在PHP中手动声明空变量?
例如:
class Myclass{
private $var1;
private $var2;
public function __construct($settings){
$allowedKeys = array("var1","var2");
foreach($allowedKeys as $key => $value){
if(!isset($settings[$value])){
$settings[$value] = null;
}
}
$this->var1 = $settings['var1'];
$this->var2 = $settings['var2'];
}
}
我不完全明白你在问什么。你可以显示你在哪里使用这个,并抛出错误?在使用它来防止这个错误之前,你不能仅仅检查变量'isset()'吗? –
只需检查您的变量范围。除非你特别需要他们是私人的,请尝试使用公共。 http://php.net/manual/en/language.oop5.visibility.php – Impulss