如果在echo中输入的内部值则出错

时间:2016-05-06 01:14:21

标签: php

echo "<input type='hidden' name='codigo' value='". if($acao == 'editar'){ echo $dados['codigo']}."'>"

我不知道如何在 echo 中加入 if

3 个答案:

答案 0 :(得分:2)

if是一个指令,不能在字符串连接中使用,因为它不返回值,可以但是使用三元运算符,如下所示:

echo "<input type='hidden' name='codigo' value='". ($acao == 'editar' ? $dados['codigo'] : '') ."'>";

因为PHP知道操作符必须返回一个可以连接的值,就像函数一样,如果它可以返回一个值,它可以用于连接。

答案 1 :(得分:1)

您可以初始化要使用的变量,因为它看起来更具可读性。

if($acao == 'editar')
   $codigo =  $dados['codigo'];
else
   $codigo = "";

echo "<input type='hidden' name='codigo' value='$codigo'>"

答案 2 :(得分:0)

您可以执行以下操作

echo "<input type='hidden' name='codigo' value='". ($acao == 'editar') ? $dados['codigo'] : "" ."'>"

或者,如果这看起来不太好,请使用变量:

$result = ($acao == 'editar') ? $dados['codigo'] : "";
echo "<input type='hidden' name='codigo' value='$result'>"

我认为这最后一个选项更容易阅读,但这是一个品味问题。