Php开关未更新变量

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 ==

我有一个变量$someVar,get包含在$test中,应该根据不同的情况更改它的值。问题是$someVar在switch语句中没有得到更新。这是我的密码:

<?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中定义元素一次。