如何让 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
我有一个关于 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