我有一个变量$RepCom如果它已设置,我希望它是输入 RepCom 的值。
我正在努力找出正确的方法来完成这项工作......
$x_RepCom = '<input name="RepCom" type="text" value="'. if(isset($RepCom)){echo $RepCom; }.'">';
只是转储变量很好,但是如果未设置,则会出现未定义错误。
$x_RepCom = '<input name="RepCom" type="text" value="'.$RepCom.'">';
那么如何将$RepCom的 if isset 放入输入的值中呢?
我试过了。。。
$x_RepCom = '<input name="RepCom" type="text" value="<?php if(isset($RepCom)){echo $RepCom; }?>">';
但这只会将字符串<?php if(isset($RepCom)){echo $RepCom; }?>
转储到值中。
我错过了什么?
你有正确的想法,你只是有错误的实现。
$RepComPrint = (isset($RepCom)) ? $RepCom : '';
$x_RepCom = '<input name="RepCom" type="text" value="'.$RepComPrint .'">';
您可能
希望将该值作为变量:
if(!isset($RepCom))
$RepCom='';
$x_RepCom = '<input name="RepCom" type="text" value="'.$RepCom.'">';
现在,如果未设置,则将为其提供空字符串的值,这将防止未定义的错误。
你是函数式程序员吗?你写的代码($x_RepCom = '<input name="RepCom" type="text" value="<?php if(isset($RepCom)){echo $RepCom; }?>">';
)让我想起了它将如何在Scheme或Haskell中实现。
关于PHP的重要一点是,像if
这样的控制结构不只是返回一个值;你不能把它任意插入到代码中。
你必须在PHP中做到这一点的方式是这样的
$x_RepCom = '<input name="RepCom" type="text" value="';
if(isset($RepCom)) { $x_RepCom .= $RepCom; }
$x_RepCom .= '>';
(为清楚起见,写了很长的路)