J'ai un tableau d'objets. UNE print_r
la sortie ressemble à ceci:
Array
(
[0] => stdClass Object
(
[sm_id] => 1
[c_id] => 1
)
[1] => stdClass Object
(
[sm_id] => 1
[c_id] => 2
)
)
J'ai vraiment du mal à trouver un moyen de parcourir les résultats et d'accéder aux éléments de l'objet. Si quelqu'un pouvait me donner des conseils, je serais extrêmement reconnaissant.
Merci d'avance
Utilisation
//$arr should be array as you mentioned as below
foreach($arr as $key=>$value){
echo $value->sm_id;
}
OR
//$arr should be array as you mentioned as below
foreach($arr as $value){
echo $value->sm_id;
}
Faire une boucle sur des tableaux et des objets est une tâche assez courante, et il est bon que vous souhaitiez apprendre à le faire. De manière générale, vous pouvez faire une boucle foreach
qui parcourt chaque membre, en lui attribuant un nouveau nom temporaire, puis vous permet de gérer ce membre particulier via ce nom:
foreach ($arr as $item) {
echo $item->sm_id;
}
Dans cet exemple, chacune de nos valeurs dans le $arr
sera accessible dans l'ordre comme $item
. Nous pouvons donc imprimer nos valeurs directement à partir de cela. Nous pourrions également inclure l'indice si nous voulions:
foreach ($arr as $index => $item) {
echo "Item at index {$index} has sm_id value {$item->sm_id}";
}
Objet ou tableau de cheminement récursif avec éléments de tableau ou d'objets:
function traverse(&$objOrArray)
{
foreach ($objOrArray as $key => &$value)
{
if (is_array($value) || is_object($value))
{
traverse($value);
}
else
{
// DO SOMETHING
}
}
}
En supposant que votre sm_id
et c_id
les propriétés sont publiques, vous pouvez y accéder en utilisant un foreach
sur le tableau:
$array = array(/* objects in an array here */);
foreach ($array as $obj) {
echo $obj->sm_id . '<br />' . $obj->c_id . '<br />';
}