-6

我想为 PHP 中的 if 语句的结果设置一个变量。这可能吗?这就是我目前正在尝试的:

 $myVariable = if (strlen($myString) > 0){
               echo '<p>'.$myString.'</p>'
               };
 echo $myVariable;

具体来说,我试图echo $myString进入一个<p>标签,但前提$myString是 的长度大于 0。

我很感激我在这里呼应了一个回声,但是由于我遇到了意外的解析错误if,我希望我的问题比这更深,所以我试图找出这是否可以完成,或者我是否需要以不同的方式去做。谢谢你的时间。

4

5 回答 5

3

你想这样做的方式......

要回答原始问题:您的格式,您可以使用if语句来定义变量,但它不是特别可读:

$myVariable = (strlen($myString) > 0) ? '<p>'.$myString.'</p>' : '';
echo $myVariable;

现场演示

推荐的方法来做到这一点...

但是,在您的情况下,这完全没有必要,您可以使用更易于理解的形式:

注意:echo如果传递一个未定义的变量,PHP 不会产生错误。它只会回应我认为你想要它做的任何事情。

if (strlen($myString) > 0) {
    $myVariable = '<p>'.$myString.'</p>';
}
echo $myVariable;

现场演示,$myString为邻居设置和空

添加了音符重新strlen演奏...

你可能会发现 usingif(isset($myString))比 using 更有效if(strlen($myString)>0)isset (0.064 sec) vs strlen (0.144 sec)。如果有可能,$myString那么undefined仍然会慢 3 倍(0.5 秒),同时strlen变得更快(0.048 秒)。isset

所以你的最终代码应该是:

if (isset($myString)) {
    $myVariable = '<p>'.$myString.'</p>';
}
echo $myVariable;
于 2013-05-31T12:24:49.583 回答
0

用这个:

$myVariable=(strlen($myString) > 0)? "<p>$myString</p>" : "";

echo $myVariable;

在您的代码中,您错过了;(分号)echo这就是你得到解析错误的原因

于 2013-05-31T12:25:35.527 回答
0

我认为这是您想要完成的,只是没有正确解释,这就是为什么您被否决的原因,无论如何:

$myVariable = (strlen($myString) > 0 ? '<p>'.$myString.'</p>' : '');
于 2013-05-31T12:24:52.147 回答
0

代码应该是,

$myVariable = '';
if (strlen($myString) > 0){
    $myVariable = '<p>'.$myString.'</p>';
};
echo $myVariable;
于 2013-05-31T12:24:07.257 回答
-1

尝试这个:

if(strlen($myString)>0){
    $myVariable = '<p>'.$myString.'</p>';
}
echo $myVariable;
于 2013-05-31T12:26:08.663 回答