php - PHP——删除最后一个元素后数组是否为空?
问题描述
我正在从 PHP 中的数组中删除一个元素:
$images = array('img1.jpg', 'img2.jpg', 'img3.jpg', 'no-image.jpg');
if (in_array('no-image.jpg', $images)) {
$imgIndex = array_search('no-image.jpg', $images);
array_splice($images, $imgIndex, 1);
}
然后我正在检查以确保$images
数组不为空:
if (!empty($images)) {
//Some code
}
但是如果我的数组只包含no-image.jpg
并且我删除它,会empty()
返回真还是假?
解决方案
是的,您的数组将评估为空。来自 PHP 手册:
The following values are considered to be empty:
"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
所以:
$images = array('no-image.jpg');
if (in_array('no-image.jpg', $images)) {
$imgIndex = array_search('no-image.jpg', $images);
array_splice($images, $imgIndex, 1);
}
echo var_dump(empty($arr)); //Will output bool(true)
和:
$images = array('img1.jpg', 'img2.jpg', 'img3.jpg', 'no-image.jpg');
if (in_array('no-image.jpg', $images)) {
$imgIndex = array_search('no-image.jpg', $images);
array_splice($images, $imgIndex, 1);
}
echo var_dump(empty($arr)); //Will output bool(false)
推荐阅读
- css - 在 Vue CLI 中,我如何使用 sass 而不是 node-sass(默认为 sass-loader)?
- javascript - React 基础,创建 div 时遇到“SyntaxError: Unexpected token <”?
- swift - 设置自定义背景形状
- python - 作为字典构造的一部分打开文件之后会关闭它吗?
- r - 终值问题代码:反转函数内部的向量
- python - Selenium web scraper 完成后更改链接并另存为不同的 csv 文件,并继续操作,直到没有更多其他链接
- java - java.lang.IllegalStateException:无法将轨道添加到复用器
- python - 烧瓶:ImportError: cannot import name 'db' from 'src.app' ,无法从应用程序导入 db
- javascript - 替换整个页面上多个单词的所有实例
- amazon-web-services - 您能否仅依靠安全组来安全地限制对可公开访问的 RDS 的访问?