PHP-如果未设置变量,则获取post变量
我试图将一个变量传递给一个新名称(如果已设置),或者在第一个变量未设置时获取一个POST变量 这是我的代码,但不起作用:PHP-如果未设置变量,则获取post变量,php,variables,if-statement,post,isset,Php,Variables,If Statement,Post,Isset,我试图将一个变量传递给一个新名称(如果已设置),或者在第一个变量未设置时获取一个POST变量 这是我的代码,但不起作用: if (isset($randombg)) { $background = $randombg; } else { $background = $_POST['bg']) }; 它有什么问题,或者我该如何修复它?您的代码中有拼写错误。在$background=$\u POST['bg'])中有一个) 和分号 你可以这样做: $defaultbg
if (isset($randombg)) {
$background = $randombg;
} else {
$background = $_POST['bg'])
};
它有什么问题,或者我该如何修复它?您的代码中有拼写错误。在
$background=$\u POST['bg'])中有一个)
和分号
你可以这样做:
$defaultbg = '#FFFFFF';
if (isset($randombg)) {
$background = $randombg;
} elseif( isset( $_POST['bg'] ) ) {
$background = $_POST['bg'];
}else{
$background = $defaultbg;
}
Mauybe$randombg为null或空(这并不完全意味着未设置)
试试这个:
if ($randombg) {
$background = $randombg;
} else {
$background = $_POST['bg'];
}
或缩短语法:
$background = null == $randombg
? $_POST['bg']
: $randombg;
[功能]PHP 7.0.x+
如果您使用的是PHP 7.0.x+,则可以使用以下语法:
$background = $randombg ?? $_POST['bg'];
在这种情况下,$background
将从设置的第一个变量中获取值,该变量不为空
您甚至可以这样做:
$background = $randombg ?? $_POST['bg'] ?? 'No background given';
// if $randombg and $_POST['bg'] will be not set or null $background will become 'No background given'
有关该功能的更多信息,您可以在和中阅读
关于您的代码
代码中有语法。详情如下:
if (isset($randombg)) {
$background = $randombg;
} else {
$background = $_POST['bg']) // you have syntax here, delete )
}
您还可以使用简短语法:
$background = (isset($randombg)) ? $randombg : $_POST['bg'];
其工作原理如下:
$background = (condition) ? 'when true' : 'when false';
关于它的更多信息,您可以阅读请,您可以用实际发生的情况替换不起作用
?看到你的留言或打字错误了吗?你检查过我的解决方案了吗?请不要做第二个。这是一个巨大的“为什么这个代码不起作用”的来源,为什么这个sytax不起作用?如果你把它写在一行中,读起来会好得多,写起来会短得多。有时代码不起作用,因为开发人员看不到错误。很好,我不知道7.x的缩写。我试图避免使用isset()
。