使用empty()函数检查PHP数组
我是PHP的新手。我有这个输入,用于将pultiple数组添加到MySQL数据库中使用empty()函数检查PHP数组,php,arrays,Php,Arrays,我是PHP的新手。我有这个输入,用于将pultiple数组添加到MySQL数据库中 <input name="image_url[]" id="ads" type="text" value=""> PHP代码: if(empty($_POST['image_url'])){ echo 'true'; } else { echo 'false'; } 但我总是看到输出:真的。默认情况下,我的输入为空 我检查并从输入名称(name=“image_url”)中删除[],然后看到
<input name="image_url[]" id="ads" type="text" value="">
PHP代码:
if(empty($_POST['image_url'])){
echo 'true';
} else {
echo 'false';
}
但我总是看到输出:真的。默认情况下,我的输入为空
我检查并从输入名称(name=“image_url”)中删除[],然后看到true
output
我想我的问题是输入数组名
如何修复此问题并检查空值
在var_dump($_POST)中,我看到以下输出:
["image_url"]=>
array(1) {
[0]=>
string(0) ""
}
现场演示:
注意:使用空值和非空值签入演示!您将看到输出:
false
您正在通过在输入名称中使用[]
创建一个值数组。如果只需要一个值,而不需要更多值,请删除输入名称中的[]
,否则将在$\u POST['image\u url']
中获得一个数组
<input name="image_url" id="upload" type="text" value="">
否则,如果确实需要一个值数组,则在输入名称中保留
[]
意味着$\u POST['image\u url']
将包含一个值数组,而不是单个值。你可能想检查每一个
首先像这样使用Html(如果您输入单个值)
这将为您提供所需的输出请尝试设置($\u POST['image\u url'])以查看值是否已设置且是否为空阅读关于什么是空的手册当我们有一个输入框且此代码检查一个输入框是否有值发送并将所有输入框(空值+非空值)插入数据库时,这将起作用。我只需要在数据库中插入非空值
我只需要将值123
和456
发送到数据库。@EricFavoni,好吧,然后您只能在if
分支中保留所需的值,并删除else
分支中不需要的值。为什么“
而不是empty()
?
<input name="image_url" id="upload" type="text" value="">
if (empty($_POST['image_url'])) {
echo 'true';
} else {
echo 'false';
}
<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';
}
}
<input name="image_url" id="upload" type="text" value="">
if(isset($_POST['image_url']) && $_POST['image_url'] != ""){
echo 'true';
} else {
echo 'false';
}