0

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

基本上是这样的:用户在帖子中填写一些 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;
?>
4

2 回答 2

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;
?>
于 2016-12-20T05:41:21.410 回答
0

做类似的事情

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

这是另一个类似的问题。 为什么要同时检查 isset() 和 !empty()

如果您想将其添加到数组中,请执行以下操作(我不确定您的表单输入名称,但以街道、城市、州的表单输入名称为例

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

我没有对此进行测试,但它看起来不错。

于 2016-12-20T05:46:04.627 回答