我想回显一个值,但是将其保存为变量以便稍后访问该值。
以下内容的正确语法是什么?
if (!empty($row['A'])){
$Test = echo '<span>sale</span>';
}
我如何防止上面的PHP块打印,只在那个变量调用的时候才打印出来。就像在。
echo $test;
有没有办法将函数放入echo中?
等。
echo 'echo this is a 'if (!empty($row['A'])){
$Test = echo '<span">function</span>';
}''.
我知道上面的内容是错误的,如果你要投票,请提供你的downvote的理由。感谢。
答案 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;
}