如何将echo值等同于变量并在其他位置访问该变量

时间:2013-12-10 08:08:57

标签: php if-statement echo is-empty

我想回显一个值,但是将其保存为变量以便稍后访问该值。

  1. 以下内容的正确语法是什么?

    if (!empty($row['A'])){
        $Test = echo '<span>sale</span>';
    }
    
  2. 我如何防止上面的PHP块打印,只在那个变量调用的时候才打印出来。就像在。

    echo $test;
    
  3. 有没有办法将函数放入echo中?

  4. 等。

    echo 'echo this is a 'if (!empty($row['A'])){
        $Test = echo '<span">function</span>';
    }''.
    

    我知道上面的内容是错误的,如果你要投票,请提供你的downvote的理由。感谢。

5 个答案:

答案 0 :(得分:2)

您无需在变量中存储echo。如果您想稍后使用该变量,那就是调用echo时。您的代码应如下所示:

$test = (!empty($row['A'])) ? 'sale' : '';

这是ternary operator,它基本上是以下if / else的简写:

if(!empty($row['A'])) {
    $test = 'sale';
} else {
    $test = '';
}

在这种情况下,如果$row[a]为空,我将其设置为空字符串,所以如果稍后回显,则不会发生任何不良情况。 (无论如何都要确保定义了变量,因此不要通过尝试调用未定义的变量来导致错误。)

然后,要使用它,只需致电

echo $test;

为什么要将函数放在echo中?这首先抵消了存储变量的意义。

答案 1 :(得分:2)

假设您正在尝试检查给定变量是否为空,然后在其中存储一些文本,那么正确的语法将是:

if (!empty($row['A'])){
    $test = '<span>sale</span>';
}

上面的代码如下:如果$row['A']不为空,则存储$test等于给定的字符串。

现在,您可以在代码中重复使用该变量。

我不太确定你要用第二个代码块完成什么,但我假设你设法echo变量值 。在这种情况下,您可以使用isset()函数:

echo isset($test) ? $test : '';

这是以下内容的简写:

if (isset($test)) {
    echo $test;
} else {
    echo '';
}

答案 2 :(得分:1)

我认为你想要的是这样的:

echo "This is a " . returnValue();

function returnValue() {
return "function";
}

该函数现在设置为返回值“function”,在echo中我们回显一些文本和返回值,所以应该回显的是:“这是一个函数”

答案 3 :(得分:1)

首先,您应该做一些教程并阅读基础知识。这就是我认为你在寻找的东西。首先,你永远不会做$ var = echo'blah';

第一个例子。

if (!empty($row['A'])){
    $Test = '<span>sale</span>';
    echo $Test;
}

如果需要,您可以稍后在代码中使用$ Test。为避免它回显,只需删除echo $ test并在其他地方执行。

对于你的第二部分,使用变量和三元是这个

的最佳选择
$isItEmpty = empty($row['A']) ? 'empty' : 'not empty';
echo 'This is row is '.$isItEmpty;

你也可以使用这样的三元内联,但通常使用变量更清晰。

echo 'This is row is '.(empty($row['A']) ? 'empty' : 'not empty');

这将输出:“此行为空”如果它为空并且“此行不为空”,如果不是(两个示例都具有相同的输出。

希望这有帮助

答案 4 :(得分:0)

您不需要在变量中包含回声。

你在哪里

$Test = echo '<span>sale</span>';

取而代之的是

$Test = '<span>sale</span>';

然后当你想回应它时,简单

echo $Test;

如果你想根据if那样回应它,你可以:

if (!empty($row['A'])){
    $Test = '<span>sale</span>';
echo $Test;    
}