Quindi, non ho visto nessun altro le risposte toccano questo, ma @xdazz si è avvicinato.
Cominciamo il nostro ambiente, $obj
uguale la notazione oggetto di una stringa decodificata:
php > $obj = json_decode('{"1":1,"2":2}');
php > print_r($obj);
stdClass Object
(
[1] => 1
[2] => 2
)
php > var_dump($obj);
object(stdClass)#1 (2) {
["1"]=>
int(1)
["2"]=>
int(2)
}
Se si desidera accedere alle corde, sappiamo quanto segue fallirà:
php > echo $obj->1;
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `'{'' or `'$'' in php shell code on line 1
Accesso le variabili oggetto
È possibile accedervi in questo modo:
php > echo $obj->{1};
1
Che è lo stesso che dire:
php > echo $obj->{'1'};
1
Accesso alle variabili array
Il problema con gli array è che il seguente ritorno in bianco, che è il problema con typecasting.
php > echo $obj[1];
php >
Se si typecast indietro, l'oggetto viene ancora una volta accessibile:
php > $obj = (object) $obj;
php > echo $obj->{1};
1
Ecco una funzione che sarà automatizzare il sopra per voi: l'utilizzo
function array_key($array, $key){
$obj = (object) $array;
return $obj->{$key};
}
Esempio:
php > $obj = (array) $obj;
php > echo array_key($obj, 1);
1
php > echo array_key($obj, 2);
2
dare la reputazione 100 prima che sia scaduto. –
@JosuaMarcelChrisano: ci sono 6 giorni interi prima che la taglia scada. La taglia era appena iniziata ieri. Dagli una pausa. Inoltre, non è necessario per te ricordarlo di nuovo 6 giorni dopo: il sistema lo farà. – BoltClock