我目前正在尝试使用 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
任何建议表示赞赏
您可以使用array_search
来查找和删除第一个值:
$pos = array_search($item_id, $user_items);
if($pos !== false)
unset($user_items[$pos]);
如何搜索该项目,然后如果它存在则将其删除?
$key = array_search($item_id, $user_items)
if ($key !== FALSE) {
unset($user_items[$key]);
}
使用unset
并不像你想象的那么简单。有关详细信息,请参阅 Stefan Gehrig 在此类似问题中的回答。