php-Methode für den Zugriff auf das Attribut von Objekt (wenn der Schlüsselname des Attributs eine Zahl ist){}
In diesem Artikel wird eine Methode beschrieben, die dies ermöglicht Methode zum Konvertieren eines Arrays in ein Objekt. Die Schlüssel dieses Arrays sind Zahlen (d. h. das Array ist ein IndexArray). Beim Zugriff auf das Objekt gilt: $obj->1 ist offensichtlich fehl am Platz. Was sollen wir also tun, wenn wir auf die numerischen Eigenschaften eines Objekts zugreifen?
$obj->{1} ; stellt den Attributwert dar, der dem Schlüssel 1 des Attributs des Zugriffsobjekts $obj entspricht!
<?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);
Das obige ist der detaillierte Inhalt vonSo greifen Sie in PHP auf die Eigenschaften eines Objekts zu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!