【发布时间】:2014-02-05 23:16:34
【问题描述】:
我正在构建一个 PHP 脚本。从一种形式我得到min_salary 和max_salary。我试图将它们都作为工资变量中的字符串,例如
$salary = "min_salary TO max_salary";
如果未指定最低薪水,则应设置为0,同样,如果未指定最高薪水,则应将其设置为*。
我已经编写了以下代码,但是当没有提供任何一个字段时,我什么也得不到。
$salary = (isset($data['min_salary']) ? $data['min_salary'] : 0) .' TO '. (isset($data['max_salary']) ? $data['max_salary']:'*');
我也不想使用if then else 语句。
【问题讨论】:
-
代码对我来说看起来不错,“我已经编写了以下代码,但在未提供任何字段时什么都没有得到”是什么意思。 - 输出什么 var_dump($salary)
-
假设 min_salary 输入框为空白,max_salary 为 10,那么输出应该是“0 TO 10”但我只得到“TO 10”:(
-
方法“isset”和“empty”之间存在差异 - 请注意这一点。如果要检查是否为空,请将 "isset(.." 替换为 "!empty(..."
-
您已经在使用 if-else 语句。您是否尝试将 min_salary 变量转换为整数?
-
感谢 Flixer,您的答案工作正常,只需将 isset 替换为 !empty
标签: php if-statement operators ternary