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;
});