根据里面的值从数组中获取索引

时间:2017-06-26 05:00:37

标签: php arrays object

我有一个具有这种结构的数组:

[items] => Array
           (
              [0] => items Object
                     (
                      [id:protected] => waHf9YHIEcYZAu6NmwQ9rOUZ6amsYME3

                           )

                     [1] => items Object
                            (
                           [id:protected] => waHf9YHIEcYZAu6NmwQ9rOUZ6amsYME3
                            )

                )

有没有办法根据id:protected值获取项目的索引?我想根据id值

取消设置此索引

我找到了一种方法bbut想检查是否有选项不通过所有阵列

foreach($items as $key => $val) {
            if($val->getId() == $idIwanttodeelte) {
                $index = $key;
            }
        }
//then unset according to index

2 个答案:

答案 0 :(得分:0)

您可以从当前遍历的阵列中删除项目而不会出现任何问题:

foreach ($items as $key => $value) {
    if ($value->getId() === $idToDelete) {
        unset($items[$key]);
    }
}

答案 1 :(得分:0)

您可以更轻松地使用array_filter。这将创建一个新数组,而无需修改原始

$filteredArray = array_filter($items, function($item) use ($idIwanttodeelte) {
    return $item->getId() != $idIwanttodeelte;
});