Méthode php pour accéder à l'attribut de l'objet (lorsque le nom de clé de l'attribut est un nombre){}
Cet article écrit une méthode qui Méthode pour convertir un tableau en un objet. Les clés de ce tableau sont des nombres (c'est-à-dire que le tableau est un indexlors de l'accès à l'objet, $obj->1). est évidemment déplacé. Alors, que devons-nous faire ? Qu'en est-il de l'accès aux propriétés numériques d'un objet ?
$obj->{1} ; représente la valeur d'attribut correspondant à la clé 1 de l'attribut de l'objet d'accès $obj!
<?php /** * Created by PhpStorm. * User: FLY.YUAN * Date: 16-6-14 * Time: 下午2:26 */ function toObject($array) { //$o = (object)''; $o = new \stdClass(); foreach ($array as $key => $value) { if (is_array($value)) { $value = toObject($value); } $o->$key = $value; } return $o; } $obj = toObject(array( array(1=>23))); echo "<pre class="brush:php;toolbar:false">"; //JSON encode, and then decode your object passing true as the second param in the decode function. //This will return an associative array. //var_dump(json_decode(json_encode($obj), true)); var_dump($obj->{0}->{1}); $a = array('123' => '123', '123foo' => '123foo'); $o = json_decode(json_encode($a), true); var_dump($o); function recursive_cast_to_array($o) { $a = (array)$o; foreach ($a as &$value) { if (is_object($value)) { $value = recursive_cast_to_array($value); } } return $a; } $myVar = toObject(array('highlighting' => array('448364' => array('Data' => array(123))))); $arr = recursive_cast_to_array($myVar); echo 134; var_dump( $myVar->highlighting->{448364}->Data->{0}); var_dump(NULL == false); $test = array(); $test['$.router'] = 123; var_dump($test);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!