我目前正在尝试使用array_diff从数组中删除1个值。
代码现在看起来像这样:
$item_id = 501;
$array = array_diff($user_items, array($item_id));
用户项目数组:501,501,502,502
在数组中正确得出结果:502,502
是否可以仅删除1x501而不是2x501值?或者说不同:将删除限制为1值
然后数组:501,502,502
感谢任何建议
答案 0 :(得分:5)
您可以使用array_search
查找并删除第一个值:
$pos = array_search($item_id, $user_items);
if($pos !== false)
unset($user_items[$pos]);
答案 1 :(得分:2)
如何搜索该项目,如果存在则将其删除?
$key = array_search($item_id, $user_items)
if ($key !== FALSE) {
unset($user_items[$key]);
}
使用unset
并不像你想象的那么简单。有关详细信息,请参阅this similar question中的Stefan Gehrig的答案。