我有这样的事情:
$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;
我希望能够使用修改后的结果显示$ var3,但它不起作用...... 谢谢你的答案,但我想我必须澄清
对此感到抱歉..
问题不在于测试的值($ E == 0)..我的问题是在两种情况下结果都是相同的,$ var1和$ var2不会改变......
结果两种情况都是一样的: echo $ msg;将生成“此图像已分配此类:类”
我认为是因为$ var3之外的if组成而且不能从IF语句中改变..
答案 0 :(得分:3)
也许是这样的:
if($_POST['number']) {
$var1 = 'image';
$var2 = 'class';
} else {
$var1 = 'no image';
$var2 = 'no class';
}
echo 'This ' . $var1 . ' has this class assigned: ' . $var2;
答案 1 :(得分:2)
你必须写一个函数
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;
答案 2 :(得分:0)
使用此条件:
if (isset($_POST['number']) AND strlen($_POST['number'])) {
...
答案 3 :(得分:0)
使用类似的东西:
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);
sprintf很有趣! (并且有用)
答案 4 :(得分:0)
您可以使用sprintf来实现您的目标:
$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);
我冒昧地改善你的状况。
答案 5 :(得分:0)
这里是你的问题解决方案
$味精= '';
$ VAR1 = '图像';
$ VAR2 = '类';
$ var3 ='这'。$ var1。'已分配此类:'。$ var2;
if($ _ POST ['number']){
$msg=$var3;
}其他{
$var1='no image';
$var2='no class';
$var3='This '.$var1.' has this class assigned:'.$var2;
$msg=$var3;
};
echo $ msg;