Php 根据数组中的值从数组中获取索引
我有一个结构如下的数组:Php 根据数组中的值从数组中获取索引,php,arrays,object,Php,Arrays,Object,我有一个结构如下的数组: [items] => Array ( [0] => items Object ( [id:protected] => waHf9YHIEcYZAu6NmwQ9rOUZ6amsYME3 ) [1] => items
[items] => Array
(
[0] => items Object
(
[id:protected] => waHf9YHIEcYZAu6NmwQ9rOUZ6amsYME3
)
[1] => items Object
(
[id:protected] => waHf9YHIEcYZAu6NmwQ9rOUZ6amsYME3
)
)
有没有办法根据id:protected值获取项目的索引?我想根据id值取消设置此索引
我找到了一种方法,但我想检查是否有一种方法可以不穿过所有阵列
foreach($items as $key => $val) {
if($val->getId() == $idIwanttodeelte) {
$index = $key;
}
}
//then unset according to index
您可以从当前正在遍历的数组中删除项,而不会出现任何问题:
foreach ($items as $key => $value) {
if ($value->getId() === $idToDelete) {
unset($items[$key]);
}
}
你可以更容易地使用。这将在不修改原始阵列的情况下创建新阵列
$filteredArray = array_filter($items, function($item) use ($idIwanttodeelte) {
return $item->getId() != $idIwanttodeelte;
});