PHP Foreach массивы и объекты
У меня есть массив объектов.
Вывод print_r
выглядит следующим образом:
Array
(
[0] => stdClass Object
(
[sm_id] => 1
[c_id] => 1
)
[1] => stdClass Object
(
[sm_id] => 1
[c_id] => 2
)
)
Я действительно изо всех сил пытаюсь найти способ зациклить результаты и получить доступ к элементам объекта. Если бы кто-нибудь мог дать мне какие-нибудь указания, я был бы чрезвычайно благодарен.
Заранее спасибо
4 ответа:
Использовать
//$arr should be array as you mentioned as below foreach($arr as $key=>$value){ echo $value->sm_id; }
Или
//$arr should be array as you mentioned as below foreach($arr as $value){ echo $value->sm_id; }
Зацикливание массивов и объектов-довольно распространенная задача, и хорошо, что вы хотите узнать, как это сделать. Вообще говоря, вы можете сделать
foreach
цикл , который циклически повторяет каждый элемент, присваивая ему новое временное имя, а затем позволяет обрабатывать этот конкретный элемент с помощью этого имени:В этом примере каждое из наших значений вforeach ($arr as $item) { echo $item->sm_id; }
$arr
будет доступно в порядке$item
. Таким образом, мы можем вывести наши ценности непосредственно из этого. Мы могли бы также включить индекс, если мы разыскивается:foreach ($arr as $index => $item) { echo "Item at index {$index} has sm_id value {$item->sm_id}"; }