我想出了一个解决方案(我将在下面发布),但我想知道是否有更好,更紧凑的方式呢?
function removeImage($id) {
$index;
for ($i = 0; $i <= count($this->_images); $i++) {
if ($this->images[$i] == $id) {
$index = $i;
break;
}
if ($i == count($this->_images)) {
throw new Exception("No image with this ID found.");
}
}
unset($this->_images[$index]);
$this->_images = array_values($this->_images);
}
答案 0 :(得分:0)
查找具有特定值的数组项
您的更新代码:
$index = array_search($id, $this->_images);
if ($index !== false) {
unset($this->_images[$index]);
$this->_images = array_values($this->_images);
}
注意:除非顺序索引很重要,否则如果您重构代码以使用foreach
,则没有理由重新索引数组。