recorrer objetos multidimensional loop crear con asociativo array php arrays stdclass

objetos - recorrer array asociativo php



PHP Foreach Arrays y objetos (4)

Pasar por encima de matrices y objetos es una tarea bastante común, y es bueno que quieras aprender a hacerlo. En términos generales, puede hacer un bucle foreach que recorre cada miembro, asignándole un nuevo nombre temporal, y luego le permite manejar ese miembro en particular a través de ese nombre:

foreach ($arr as $item) { echo $item->sm_id; }

En este ejemplo, se accederá a cada uno de nuestros valores en $arr en orden como $item . Así que podemos imprimir nuestros valores directamente de eso. También podríamos incluir el índice si quisiéramos:

foreach ($arr as $index => $item) { echo "Item at index {$index} has sm_id value {$item->sm_id}"; }

Tengo una serie de objetos. Una salida de print_r se ve así:

Array ( [0] => stdClass Object ( [sm_id] => 1 [c_id] => 1 ) [1] => stdClass Object ( [sm_id] => 1 [c_id] => 2 ) )

Estoy realmente luchando para encontrar una manera de recorrer los resultados y acceder a los elementos del objeto. Si alguien me pudiera dar alguna sugerencia, estaría extremadamente agradecido.

Gracias por adelantado


Recursivo objeto transversal o matriz con matriz o elementos de objetos:

function traverse(&$objOrArray) { foreach ($objOrArray as $key => &$value) { if (is_array($value) || is_object($value)) { traverse($value); } else { // DO SOMETHING } } }


Suponiendo que sus propiedades sm_id y c_id son públicas, puede acceder a ellas utilizando un foreach en la matriz:

$array = array(/* objects in an array here */); foreach ($array as $obj) { echo $obj->sm_id . ''<br />'' . $obj->c_id . ''<br />''; }


Utilizar

//$arr should be array as you mentioned as below foreach($arr as $key=>$value){ echo $value->sm_id; }

O

//$arr should be array as you mentioned as below foreach($arr as $value){ echo $value->sm_id; }