Penso che si stia utilizzando un'estensione di debug, quindi l'output var_dump()
è diverso dalla libreria standard, le proprietà non possono essere numeriche ma $obj->{'75'}
è okay. Se è possibile raggiungere l'oggetto secondario con $items->{'75'}
sì, si dispone di una proprietà numerica. altrimenti si può provare print_r($items);
e vedere l'uscita originale, o controllare la matrice dopo l'emissione get_object_vars()
<?php
$items = new stdClass();
$items->{'75'} = new stdClass();
$items->{'75'}->{'85'} = new stdClass();
$items = (array) $items; // Casting unserialized stdClass to array
$items_array = get_object_vars($items); // getting object vars as an array.
var_dump($items["75"]); // Error
var_dump($items['75']); // Error
var_dump($items_array['75']); // Works
PHP: #45959
Leggi il blockquote casting: http://www.php.net/manual/en/language.types.array.php#language.types.array.casting
fonte
2012-05-25 17:15:37
Si prega di mostrare $ articoli –
Provare a inserire in una variabile diversa '$ new_items = (array) $ articoli; var_dump ($ new_items [75]); ' – Aziz
Questo mi dà lo stesso risultato. –