Пожалуйста, помогите! Я слишком долго смотрел на это. У меня есть свойство объекта, представляющего собой массив объектов. Я хочу передать объект методу родительского объекта и выполнить поиск через это свойство массива для соответствия, и если он найден, верните индекс. В противном случае мне нужно вернуть -1. По какой-то причине это не повторение. Если я выхожу из того, что должно быть свойством $ order-> product (где указатель указывает во время цикла), он остается неизменным. Я сбросил массив, и я знаю, что он содержит разные значения. Я могу показать вам большой дамп var, но я решил, что сначала спрошу, есть ли простая ошибка или что-то еще, что очевидно для вас, что я пропустил.php foreach итерация по массиву свойств объекта, не увеличивающая значение
public function getItemIndex($prod) {
if (isset($this->orders)){
foreach($this->orders as $key => $order) {
if ($order->product == $prod) { //if I echo this $order->product to the screen, it is unchanging
return $key;
} else { return -1; }
}
}
else {
return -1;
}
}
Если у кого есть какие-либо идеи, я открыт для обсуждения и публикации дополнительной информации по мере необходимости. Спасибо за ваше время.
Можете ли вы показать '$ this-> orders' (или его часть)? – Popnoodles
in_array просто возвращает логическое значение. Я добавлю var_dump, одну секунду ... – eightArmCode
как в 'if (! In_array ((array) $ this-> orders, $ prod)) return -1;' EDIT, Oh you want the key. – Popnoodles