我有一个包含多个文件输入的HTML表单
<input type='file' id='images' name='images[]'>
我使用implode()将$ images数组转换为逗号分隔的字符串并将其插入到我的数据库中,然后在调用时使用explode()来调用单个图像。
问题是:空输入字段仍然提交给数据库,所以当爆炸时,我得到空数组值
如何摆脱这些空数组值?甚至可能在使用内爆函数之前?
我正在考虑运行一个foreach循环抛出$ _FILES ['images']数组并从中丢弃空值并重建一个新数组..但是有更简单的方法可用吗?
感谢
答案 0 :(得分:2)
使用 array_filter 。它是一个函数,它使用指定为参数的另一个函数迭代数组。 但是如果你没有传递这个论点,那么array_filter
只会摆脱与FALSE
相等的值。
$images = implode(',', array_filter($_FILES['images']));
答案 1 :(得分:1)
$images = array_filter($_POST['images']);
但我会重新考虑数据库设计。你可能不应该存储这样的列表。