Heim  >  Artikel  >  Backend-Entwicklung  >  So greifen Sie in PHP auf die Eigenschaften eines Objekts zu

So greifen Sie in PHP auf die Eigenschaften eines Objekts zu

怪我咯
怪我咯Original
2017-06-28 13:55:517544Durchsuche

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)&#39;&#39;;
    $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(&#39;123&#39; => &#39;123&#39;, &#39;123foo&#39; => &#39;123foo&#39;);
$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(&#39;highlighting&#39; => array(&#39;448364&#39; => array(&#39;Data&#39; => array(123)))));
$arr = recursive_cast_to_array($myVar);
echo 134;
var_dump( $myVar->highlighting->{448364}->Data->{0});
 
var_dump(NULL == false);
 
$test = array();
$test[&#39;$.router&#39;] = 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn