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