如何让 compact 忽略不存在的变量?

How can I let compact ignore non-existing variables?

我有一个关于 PHP compact 的问题。

在 Laravel 控制器中,我 return 使用紧凑的下一个值:

return view('vote.cast', compact('canvote', 'opinionClosed', 'userVoteDecision'));

不过我这里有个问题。变量 'userVoteDecision' 有时是可选的,并不总是由控制器设置。

有没有办法让 compact 忽略一个不存在的变量? (通过使值 'userVoteDecision' 的 return 可选?)

或者是否有更好的解决方法来解决这个问题?

提前致谢。

问候 戴夫

如果您需要解决方法,请采用以下解决方案:

if(isset($userVoteDecision)) {
    return view('vote.cast', compact('canvote', 'opinionClosed', 'userVoteDecision'));
} else {
    return view('vote.cast', compact('canvote', 'opinionClosed'));
}

一般来说,设置$userVoteDecision = null;比较好 并且只有在有一个变量的情况下才为变量赋值。 在所有其他情况下,让变量存在为 null