PHP从IF语句变量为变量赋值
我有这样的想法:PHP从IF语句变量为变量赋值,php,Php,我有这样的想法: $msg = ''; $var1 = 'image'; $var2 = 'class'; $var3 = 'This '.$var1.' has this class assigned:'.$var2; if($E == 0) { $msg = $var3; } else { $var1 = 'no image'; $var2 = 'no class'; $msg = $var3; }; echo $msg;
$msg = '';
$var1 = 'image';
$var2 = 'class';
$var3 = 'This '.$var1.' has this class assigned:'.$var2;
if($E == 0) {
$msg = $var3;
} else {
$var1 = 'no image';
$var2 = 'no class';
$msg = $var3;
};
echo $msg;
if($_POST['number']) {
$var1 = 'image';
$var2 = 'class';
} else {
$var1 = 'no image';
$var2 = 'no class';
}
echo 'This ' . $var1 . ' has this class assigned: ' . $var2;
if(empty($_POST['number'])) {
$var1='no image';
$var2='no class';
} else {
$var1='image';
$var2='class';
}
echo sprintf('This %s has this class assigned:%s', $var1, $var2);
我想能够显示$var3与修改后的结果,但它不工作。。。
谢谢你的回答,但我想我必须澄清一下
很抱歉搞混了
问题不在于要测试的值($E==0)。。我的问题是,在这两种情况下,结果都是相同的,$var1和$var2不会改变
两种情况下的结果相同:
echo$msg;将生成“此图像已分配此类:类”
我认为这是因为$var3在if语句外部构成,而不能从if语句内部更改。使用此if条件:
if (isset($_POST['number']) AND strlen($_POST['number'])) {
...
在以下情况下使用此选项:
if (isset($_POST['number']) AND strlen($_POST['number'])) {
...
也许是这样的:
$msg = '';
$var1 = 'image';
$var2 = 'class';
$var3 = 'This '.$var1.' has this class assigned:'.$var2;
if($E == 0) {
$msg = $var3;
} else {
$var1 = 'no image';
$var2 = 'no class';
$msg = $var3;
};
echo $msg;
if($_POST['number']) {
$var1 = 'image';
$var2 = 'class';
} else {
$var1 = 'no image';
$var2 = 'no class';
}
echo 'This ' . $var1 . ' has this class assigned: ' . $var2;
if(empty($_POST['number'])) {
$var1='no image';
$var2='no class';
} else {
$var1='image';
$var2='class';
}
echo sprintf('This %s has this class assigned:%s', $var1, $var2);
也许是这样的:
$msg = '';
$var1 = 'image';
$var2 = 'class';
$var3 = 'This '.$var1.' has this class assigned:'.$var2;
if($E == 0) {
$msg = $var3;
} else {
$var1 = 'no image';
$var2 = 'no class';
$msg = $var3;
};
echo $msg;
if($_POST['number']) {
$var1 = 'image';
$var2 = 'class';
} else {
$var1 = 'no image';
$var2 = 'no class';
}
echo 'This ' . $var1 . ' has this class assigned: ' . $var2;
if(empty($_POST['number'])) {
$var1='no image';
$var2='no class';
} else {
$var1='image';
$var2='class';
}
echo sprintf('This %s has this class assigned:%s', $var1, $var2);
使用类似以下内容:
$msg = '';
$var1 = 'image';
$var2 = 'class';
$var3 = 'This '.$var1.' has this class assigned:'.$var2;
if($E == 0) {
$msg = $var3;
} else {
$var1 = 'no image';
$var2 = 'no class';
$msg = $var3;
};
echo $msg;
if($_POST['number']) {
$var1 = 'image';
$var2 = 'class';
} else {
$var1 = 'no image';
$var2 = 'no class';
}
echo 'This ' . $var1 . ' has this class assigned: ' . $var2;
if(empty($_POST['number'])) {
$var1='no image';
$var2='no class';
} else {
$var1='image';
$var2='class';
}
echo sprintf('This %s has this class assigned:%s', $var1, $var2);
真有趣!(而且很有用)使用类似以下内容:
$msg = '';
$var1 = 'image';
$var2 = 'class';
$var3 = 'This '.$var1.' has this class assigned:'.$var2;
if($E == 0) {
$msg = $var3;
} else {
$var1 = 'no image';
$var2 = 'no class';
$msg = $var3;
};
echo $msg;
if($_POST['number']) {
$var1 = 'image';
$var2 = 'class';
} else {
$var1 = 'no image';
$var2 = 'no class';
}
echo 'This ' . $var1 . ' has this class assigned: ' . $var2;
if(empty($_POST['number'])) {
$var1='no image';
$var2='no class';
} else {
$var1='image';
$var2='class';
}
echo sprintf('This %s has this class assigned:%s', $var1, $var2);
真有趣!(非常有用)您可以使用以下方法实现您的目标:
$var1='image';
$var2='class';
$format ='This %s has this class assigned: %s';
if(! isset($_POST['number']) || ! $_POST['number']) {
$var1='no image';
$var2='no class';
};
$msg = sprintf($format, $var1, $var2);
我还冒昧地稍微改善了你的状况。你可以用它来实现你想要的:
$var1='image';
$var2='class';
$format ='This %s has this class assigned: %s';
if(! isset($_POST['number']) || ! $_POST['number']) {
$var1='no image';
$var2='no class';
};
$msg = sprintf($format, $var1, $var2);
我还冒昧地稍微改善了你的状况。你必须编写一个函数
function var3($v1,$v2)
{
return 'This '.$v1.' has this class assigned:'.$v2;
}
按以下方式使用此功能:
$msg='';
$var1='image';
$var2='class';
$var3=var3($var1,$var2);
if($_POST['number']) {$msg=$var3;}
else
{
$var1='no image';
$var2='no class';
$msg=var3($var1,$var2);
};
echo $msg;
你必须写一个函数
function var3($v1,$v2)
{
return 'This '.$v1.' has this class assigned:'.$v2;
}
按以下方式使用此功能:
$msg='';
$var1='image';
$var2='class';
$var3=var3($var1,$var2);
if($_POST['number']) {$msg=$var3;}
else
{
$var1='no image';
$var2='no class';
$msg=var3($var1,$var2);
};
echo $msg;
这是您的问题的解决方案 $msg='' $var1='image' $var2='class' $var3='This'$var1.'已分配此类:'.$var2 如果($_POST['number'])){ }否则{
$var1='no image';
$var2='no class';
$var3='This '.$var1.' has this class assigned:'.$var2;
$msg=$var3;
})
echo$msg 这里是您的问题的解决方案 $msg='' $var1='image' $var2='class' $var3='This'$var1.'已分配此类:'.$var2 如果($_POST['number'])){ }否则{
$var1='no image';
$var2='no class';
$var3='This '.$var1.' has this class assigned:'.$var2;
$msg=$var3;
})
echo$msg 格式化代码会很有帮助。如果要检查POST中的数字是否有值,则需要使用
empty()
格式化代码。如果要检查POST中的数字是否有值,则需要使用empty()
函数var3()中存在键入错误。。您使用的是$1和$2,而不是$v1和$v2。我就是这样结束的。这是显而易见的,但我没有得到答案:)谢谢大家!对于帮助,您在函数var3()中有一个输入错误。。您使用的是$1和$2,而不是$v1和$v2。我就是这样结束的。这是显而易见的,但我没有得到答案:)谢谢大家!谢谢你的帮助谢谢你这会有用但不是我想要的。我需要使用第三个变量并减少代码量,只需将echo替换为$var3,如下->$var3='this'$变量1。”已将此类分配给:'$var2代码>它应该像你想要的那样工作。谢谢你,这会工作,但不是我想要的。我需要使用第三个变量并减少代码量,只需将echo替换为$var3,如下->$var3='this'$变量1。”已将此类分配给:'$var2代码>并且它应该按照您想要的方式工作。