如何在php变量中使用if语句?

如何在php变量中使用if语句?,php,html,Php,Html,我正在使用ajax调用一个文件,点击一张“卡片”显示一个对话框。它与php的普通html一样工作正常,但现在我将其保存为php变量,它不喜欢if语句,下拉列表总是显示默认的“choose”选项。这能做到吗?或者我只是写错了 $html.="<select name='priority'>"; $html.="<option>---Choose---</option>"; $html.="<option if ($priority == 'Low') ec

我正在使用ajax调用一个文件,点击一张“卡片”显示一个对话框。它与php的普通html一样工作正常,但现在我将其保存为php变量,它不喜欢if语句,下拉列表总是显示默认的“choose”选项。这能做到吗?或者我只是写错了

$html.="<select name='priority'>";
$html.="<option>---Choose---</option>";
$html.="<option if ($priority == 'Low') echo 'selected' value='Low'>Low</option>";
$html.="<option if ($priority == 'Normal') echo 'selected' value='Normal'>Normal</option>";
$html.="<option if ($priority == 'High') echo 'selected' value='High'>High</option>";
$html.="<option if ($priority == 'Critical') echo 'selected' value='Critical'>Critical</option>";
$html.="</select>";
$html.=”;
$html.=“---选择----”;
$html.=“低”;
$html.=“正常”;
$html.=“高”;
$html.=“关键”;
$html.=”;

应该这样做:

$html .= "<option " .
         (($priority == 'Low') ? 'selected' : '') .
         " value='Low'>Low</option>";
$html.=“低”;
不使用三元运算符:

$html .= "<option ";

if ($priority == 'Low') {
    $html .= 'selected';
}

$html .= " value='Low'>Low</option>";
$html.=“低”;

应该这样做:

$html .= "<option " .
         (($priority == 'Low') ? 'selected' : '') .
         " value='Low'>Low</option>";
$html.=“低”;
不使用三元运算符:

$html .= "<option ";

if ($priority == 'Low') {
    $html .= 'selected';
}

$html .= " value='Low'>Low</option>";
$html.=“低”;

您可能忘记了区别。双引号中的所有内容都是字符串。试着用三元:

        $priority = "Normal";
        $html = "";

        //Use from here
        $html .= "<select name='priority'>";
        $html.="<option>---Choose---</option>";
        $html.="<option ";
        $html.= (($priority == 'Low') ? 'selected' : '');
        $html.=" value='Low'>Low</option>";
        $html.="<option ";
        $html.=(($priority == 'Normal') ? 'selected' : '');
        $html.=" value='Normal'>Normal</option>";
        $html.="<option ";
        $html.=(($priority == 'High') ? 'selected' : '');
        $html.=" value='High'>High</option>";
        $html.="<option ";
        $html.=(($priority == 'Critical') ? 'selected' : '');
        $html.=" value='Critical'>Critical</option>";
        $html.="</select>";
        echo $html;
        exit;
$priority=“Normal”;
$html=“”;
//从这里使用
$html.=”;
$html.=“---选择----”;
$html.=“低”;
$html.=“正常”;
$html.=“高”;
$html.=“关键”;
$html.=”;
echo$html;
出口

测试

你可能忘记了区别。双引号中的所有内容都是字符串。试着用三元:

        $priority = "Normal";
        $html = "";

        //Use from here
        $html .= "<select name='priority'>";
        $html.="<option>---Choose---</option>";
        $html.="<option ";
        $html.= (($priority == 'Low') ? 'selected' : '');
        $html.=" value='Low'>Low</option>";
        $html.="<option ";
        $html.=(($priority == 'Normal') ? 'selected' : '');
        $html.=" value='Normal'>Normal</option>";
        $html.="<option ";
        $html.=(($priority == 'High') ? 'selected' : '');
        $html.=" value='High'>High</option>";
        $html.="<option ";
        $html.=(($priority == 'Critical') ? 'selected' : '');
        $html.=" value='Critical'>Critical</option>";
        $html.="</select>";
        echo $html;
        exit;
$priority=“Normal”;
$html=“”;
//从这里使用
$html.=”;
$html.=“---选择----”;
$html.=“低”;
$html.=“正常”;
$html.=“高”;
$html.=“关键”;
$html.=”;
echo$html;
出口

测试

事实上,只需将结果串联起来,而不是将其嵌入字符串中。作为参考,他使用了三元运算符:您可能也希望在不使用三元运算符的情况下编写该运算符-很明显,询问者对这类事情并不精通。谢谢,不,不,完全不精通,只是开始Dabblinginded,只是连接结果,而不是将其嵌入字符串中。作为参考,他使用了三元运算符:您可能也希望在不使用三元运算符的情况下编写结果–很明显,询问的人对这类事情不是很精通。谢谢,不,一点也不精通,只是开始涉猎而已