PHP使用empty()函数检查数组


PHP check array using empty() function

我是PHP新手。我有这个输入,用于将pulmultipile数组添加到MySQL数据库中。

<input name="image_url[]" id="ads" type="text" value="">

现在,我需要检查是否有空值发送到数据库。

我用empty()函数进行了检查,但这对name="image_url[]"不起作用。

HTML:

<input name="image_url[]" id="upload" type="text" value="">

PHP代码:

if(empty($_POST['image_url'])){
echo 'true';
} else {
echo 'false';
}

但我总是看到输出:真的。默认情况下,我的输入为空。

我检查并从输入名称(name="image_url")中删除[],然后看到true输出。

我认为我的问题是输入数组名称。

如何修复此问题并检查空值?!

在var_dump($_POST)中,我看到以下输出:

  ["image_url"]=>
  array(1) {
    [0]=>
    string(0) ""
  }

现场演示:http://madenade.besaba.com/php/?action=editnews&id=10

注意:使用空值而非空值检查演示!u参见输出:false

在输入名称中使用[]创建一个值数组。如果您只需要一个值,而不需要多个值,那么请删除输入名称中的[],否则您将在$_POST['image_url']中获得一个数组。

<input name="image_url" id="upload" type="text" value="">
if (empty($_POST['image_url'])) {
    echo 'true';
} else {
    echo 'false';
}

否则,如果确实需要一个值数组,那么在输入名称中保留[]意味着$_POST['image_url']将包含一个值阵列,而不是单个值。你可能想检查每一个。

<input name="image_url[]" id="upload" type="text" value="">
foreach ($_POST['image_url'] as $image_url) {
    if (empty($image_url)) {
        echo 'true';
    } else {
        echo 'false';
    }
}

首先像这样使用Html(如果您输入单个值)

<input name="image_url" id="upload" type="text" value="">

然后在PHP代码检查像这个

    if(isset($_POST['image_url']) && $_POST['image_url'] != ""){
echo 'true';
} else {
echo 'false';
}

这将为您提供所需的输出