检查变量列表是否为空,如果没有,则移至PHP中的字符串

时间:2016-12-20 05:35:34

标签: php isset isnullorempty

关于isset()empty的使用,我已经阅读了很多内容,但无法找到我要找的答案。

基本上这个:用户在post上填写一些html输入,它调用php脚本。在调用单独的Web服务来查找地址之前,我需要创建一个包含已填充的所有地址元素的字符串。如果尚未填充输入字段,我想将其从列表中排除。

简而言之:

  • 检查已发布的$vars 1到10,看看它们是否包含值。
  • 对于没有值的每一个,将其从字符串中删除。如果存在值,请将其添加到字符串中。

我尝试过使用empty!emptyisset,但仍然没有使用过。

示例代码:

<?php
if
(empty($Lot_no))
{ $Lot_no = $v1;
}
if (empty($Flat_unit_no))
   {$Flat_unit_no  = $v2;
}
$str= $v1. $v2;
?>

2 个答案:

答案 0 :(得分:0)

试试这个。如果值等于0,则可以检查该值。

<?php
    if((empty($Lot_no)) && ($Lot_no =='0')){ 
        $Lot_no = $v1;
    }if ((empty($Flat_unit_no)) && ($Lot_no =='0')){
        $Flat_unit_no  = $v2;
    }
    $str= $v1. $v2;
?>

答案 1 :(得分:0)

执行类似

的操作
$address = '';
foreach ($_POST as $post) {
   if (!empty($post)) {
      $address .= $post . ', ';
   }
}

这是另一个类似的类似问题。 Why check both isset() and !empty()

如果你想将它添加到一个数组中做类似的事情(我不确定你的表单输入名称,但作为一个例子,表单输入名称为street,city,state

$address = [];
$addressKeys = ['street', 'city', 'state'];
foreach ($_POST as $key => $post) {
    if (in_array($key, $addressKeys)) {
        $address[$key] = $post;
    }
}

我没有测试过,但它看起来很好。