echo中的Php函数?可能吗?

echo中的Php函数?可能吗?,php,Php,嗨,我有个特别的问题。。。我从数据库中得到了三个值 Value1 is 1 or 0 Value2 is again 1 or 0 Value3 is remaining time like (24 hours left, 23, ...) 这些值保存在变量中: $value1 $value2 $value3 这些值在网页的每次加载时从DB更改。我在echo“”中也有这些值;php函数已经类似于: echo"text text text ................. "Value 1

嗨,我有个特别的问题。。。我从数据库中得到了三个值

Value1 is 1 or 0
Value2 is again 1 or 0
Value3 is remaining time like (24 hours left, 23, ...)
这些值保存在变量中:

$value1
$value2
$value3
这些值在网页的每次加载时从DB更改。我在echo“”中也有这些值;php函数已经类似于:

echo"text text text .................
"Value 1 is:" . $value1 . " and value 2 is:" . $value2 . ""
..................;
我需要一个函数来表达不同的东西,比如

if (value1=0)
echo "Only text"
else
echo "Value 1 is:" . $value1 . " and value 2 is:" . $value2 . ""; 
这是第一个示例中的另一个echo函数,因此在我看来如下所示:

*Some function*
echo"if (value1=0)
echo "Only text"
else
echo "Value 1 is:" . $value1 . " and value 2 is:" . $value2 . """; // two echo closing 
echo "Value 1 : ".func1($value1)." - Value 2 : ".func2($value2)." - Value 3 : ".func3($value3);

但它不起作用。任何帮助都将不胜感激。如何解决这个问题?谢谢。

您的第二段代码看起来不错。拥有多个
echo
语句不是问题,使用
if…else
选择一个语句是完全合理的

如果出于某种原因必须只使用一个,则可以使用
(…)?:三元运算符

echo (value1 == 0) ? 'Only text' : "Value 1 is:" . $value1 . " and value 2 is:" . $value2 . """;

Echo是说输出您键入的任何内容。说输出“echo”实际上意味着显示“echo”一词。没有理由输出输出。。。你已经输出了

我认为你想要的更像是:

if($value1 == 0){
    echo "Only text";
} else {
    echo "Value 1 is:" . $value1 . " and value 2 is:" . $value2;
}

请使用
value1==0
。基本上
=
意味着您将值
0
分配到变量
value1

如何:

<?php
$value1=0;
$value2=1;
echo ($value1==0) ? "value 1 is :".$value1." and value 2 is ".$value2 : "only text";
?>

这就是你要找的吗

编辑:我想我明白你的意思了。


为什么不使用这样的东西:

*Some function*
echo"if (value1=0)
echo "Only text"
else
echo "Value 1 is:" . $value1 . " and value 2 is:" . $value2 . """; // two echo closing 
echo "Value 1 : ".func1($value1)." - Value 2 : ".func2($value2)." - Value 3 : ".func3($value3);
然后,根据逻辑的复杂程度,您可能有3个或1个函数

function func1($value){
 if ($value == 0) return " zero ";
 else return " else ";
}

这就是你要找的吗

我认为您希望显示PHP代码本身:

可能是这样

echo 'if (value1=0)
echo "Only text"
else
echo "Value 1 is:"' . $value1 . " and value 2 is:" . $value2 ;

很难说出您想要实现的目标,但是根据您的一些其他评论,我开始怀疑您想要回显PHP代码:

$value = ($value == 0 ? 'Only Text' : "Value 1 is:$value1 and value2 is: $value2");

echo "echo \"$value\";";
更新:
是的,就是这样!工作,但我需要两个文本不同的颜色:-)如何添加那里

我假设您正在将文本输出到浏览器,因此类似的操作将起作用:

$value = '<span style="color:#'
  . ($value == 0 ? 'f00">Only Text' : "0f0\">Value 1 is: $value1 and value2 is:  $value2")
  . '</span>';

echo "echo \"$value\";";
$value='Only Text':“0f0\”>值1为:$value1,值2为:$value2“)
. '';
echo“echo\”$value\”;";


我真的认为你应该更好地格式化你的问题。你的目标非常不明确。你能添加一些代码来显示你的预期输出,就像浏览器应该收到的那样吗?根据你的评论和问题,我觉得你对
echo
的工作原理和你的问题有一个错误的想法。你不能有一个function在
echo
中。echo只是用于打印文本。在使用echo之前,您必须确定要打印的文本。这意味着您将
echo
语句放在
if else
子句中,而不是相反。我认为您正在搜索eval();它不起作用:某些函数echo“if(value1==0)echo”Only textelse echo“值1为:”$价值1。值2是:“$价值2。“当我在echo中有函数时,一个”或两个“加上其他任何东西是否足够?它不起作用,因为您向它添加了内容。”。您在前面放置了一个
echo
,这意味着您正试图在页面上显示PHP代码。我写的确切代码是可以工作的。是的,以及如何将此函数放到另一个echo所有这些都没有问题“你想打印函数本身吗?我只需要文本或值1:(等)打印在另一个echo中”所以如何将此函数放到另一个echo中…我不需要以某种方式定义$value2。。。所以我会再试一次。。。它用echo“”编码某个函数,因此它看起来像:echo“text text text”if($value1==0){echo“Only text
”}否则{echo“Value 1是:“..$value1.”,Value 2是:“..$value2.”
“;}”txt text text;但是我做错了,它只是一个空白页…我将尝试在这里回答我的结果:-)$value1和$value2是在代码前面定义的,它们需要在另一个不同的echo函数中调用if:-)
if(condition)返回true?真的吗?@Platinum Azure,这有什么问题?为什么这么复杂
chVal($value2)
$value2==0
相同。在这里创建一个额外的函数实际上没有什么好处。甚至函数也最好写成
函数chVal($val){return($val==0)}。Platinum的意思是,
if(condition)return true
return(condition)
@Platinum Yea的意思是,
if(…)return true;否则返回false每次都让我厌烦@Ruel编写
函数chVal($val){return$val==0;}
刚刚实现,0==false,那么为什么不直接将其作为一个条件呢是的,就是这样!正在工作,但我需要两个文本的不同颜色:-)如何添加?和las one如何将$value更改为int(没有数字改为50.74将得到50?谢谢:-)@Hawgang将您的值转换为int:
$value1=(int)$value或四舍五入:
$value1=四舍五入($value1)我已经完成了选择谢谢你的帮助你可以结束:-)@Hawgang这取决于你接受答案来“结束”这个问题。如果此答案解决了您的问题,请单击它旁边的复选标记以接受它。
echo 'if (value1=0)
echo "Only text"
else
echo "Value 1 is:"' . $value1 . " and value 2 is:" . $value2 ;
$value = ($value == 0 ? 'Only Text' : "Value 1 is:$value1 and value2 is: $value2");

echo "echo \"$value\";";
$value = '<span style="color:#'
  . ($value == 0 ? 'f00">Only Text' : "0f0\">Value 1 is: $value1 and value2 is:  $value2")
  . '</span>';

echo "echo \"$value\";";