如果PHP变量为空,则不返回任何内容;如果它不是空的,则用括号围绕它返回

时间:2011-04-06 16:42:43

标签: php variables

我正在为我建立的表格而苦苦挣扎,需要你们那些善良的人帮助。我已经尝试了一些技术,使用我对数组的非常基本的知识以及内爆和空函数,但我仍然被卡住......

这是HTML的基本版本:

<input type="radio" name="os_used" class="radio" value="windows" />
<input type="radio" name="os_used" class="radio" value="mac" />
<input type="radio" name="os_used" class="radio" value="other" />
<input type="text" name="os_name" class="text" />

这是使用上述HTML的PHP​​:

$os_used = $_REQUEST["os_used"] ;
$os_name = $_REQUEST["os_name"] ;
$message = "operating system: $os_used ($os_name)" ;

然后将该邮件发送到我的电子邮件地址。

在表单上,​​如果选择了名为“other”的输入,则会出现“os_name”文本框,提示用户指定他们使用的操作系统。然后,在我提交表单后发送的电子邮件中返回。唯一的问题是,99%的情况下,'other_os'将不会被选中,我会在电子邮件中找到它:'operating system:mac()'或'operating system:windows()'。因此,如果选择“其他”单选按钮,我只想显示括号,返回类似“操作系统:其他(linux)”的内容,如果'mac'或'windows',则括号不会出现地选择。

所以我的想法是括号必须在$ os_name变量的任一侧连接并设置为一个变量本身只会出现在$ os_name在表单上输入任何类型值的条件下。我很难过!

感谢您的时间,

马丁。

3 个答案:

答案 0 :(得分:2)

尝试以下代码。

$os_used = $_REQUEST["os_used"] ;
$os_name = $_REQUEST["os_name"] ;

if ($os_name) {
    $message = "operating system: other ($os_name)";
} else {
    $message = "operating system: $os_used";
}

答案 1 :(得分:1)

()=括号。 [] =括号。 一个重要的区别。

$message = "Operating System: $os_used ";
if ($os_name!="") $message.="($os_name)";

答案 2 :(得分:1)

你实际上想要检查它不仅仅是空格,你可以使用trim()。

$formatted_os = trim($os_name)? '('.$os_name.')' : '';

在您提交$_REQUEST['os_name']之后和创建消息之前,请坚持下去。可选择代替使用第二个变量$formatted_os,您可以覆盖$os_name