Php开关未更新变量
我有一个变量$someVar,get包含在$test中,应该根据不同的情况更改它的值。问题是$someVar在switch语句中没有得到更新。这是我的密码:Php开关未更新变量,php,variables,scope,switch-statement,Php,Variables,Scope,Switch Statement,我有一个变量$someVar,get包含在$test中,应该根据不同的情况更改它的值。问题是$someVar在switch语句中没有得到更新。这是我的密码: <?php $someVar = ''; $test = '<div class="test">This is ' . $someVar . '</div>'; $param = 1; switch ($param) { case ($param ==
<?php
$someVar = '';
$test = '<div class="test">This is ' . $someVar . '</div>';
$param = 1;
switch ($param)
{
case ($param == 1):
$someVar = 'some text';
echo $test;
break;
};
?>
这总是输出一个空的$someVar并回显This而不是This is some文本。我猜这是一个范围问题,因此感谢您的帮助。您在$someVar为空时定义了$test
$someVar = '';
$test = '<div class="test">This is ' . $someVar . '</div>';
将此更改为:
这:
当$someVar为空时,您已经定义了$test
$someVar = '';
$test = '<div class="test">This is ' . $someVar . '</div>';
将此更改为:
这:
如果您想更新$test变量数据,那么必须更新$test变量,如下所示-
<?php
$someVar = '';
$param = 1;
switch ($param)
{
case 1:
$someVar = 'some text';
$test = '<div class="test">This is ' . $someVar . '</div>';
break;
case 2:
$someVar = 'some text another';
$test = '<div class="test">This is ' . $someVar . '</div>';
break;
};
echo $test;
?>
如果您想更新$test变量数据,那么必须更新$test变量,如下所示-
<?php
$someVar = '';
$param = 1;
switch ($param)
{
case 1:
$someVar = 'some text';
$test = '<div class="test">This is ' . $someVar . '</div>';
break;
case 2:
$someVar = 'some text another';
$test = '<div class="test">This is ' . $someVar . '</div>';
break;
};
echo $test;
?>
这是因为$someVar最初是空的,并用空字符串分配给$test。这是因为$someVar最初是空的,并用空字符串分配给$test。@g5wx欢迎…:@g5wx欢迎…:是的,我试图避免这种方式,这样我只能在$test中定义元素一次。是的,我试图避免这种方式,这样我只能在$test中定义元素一次。