Bu PHP sözdizimi ne demek: $ var1-> $ var2'ye

3 Cevap php

PHP için yeni. Birisi bu sözdizimi açıklayabilir misiniz.

$var1->$var2  //note the second $

Teşekkürler

3 Cevap

Sen $var1 o $var2 değeri olarak aynı adlı bir özellik çağırıyor

Örneğin:

$var2 = "name";

// the following are equivalent
$var1->name;
$var1->$var2;

$var1 bir amacıdır

$var2 (muhtemelen) içinde bir değişkenin adıdır $var1.

: $var2="test"; bu değerlendirilir eğer

$var1->test;

Sen şeyler her türlü ile yapabilirsiniz:

$test = array();
$name="test";
print_r($$name);// prints array();

$test = new stdClass;
$test->hello = "hi";
$name2="hello";
echo $test->$name2; // echos hi

Hatta gerçekten fantezi alabilirsiniz

echo $$name->$name2; // echos hi

Bu dinamik bir nesneye özelliğini sorgu demektir.

class A {
  public $a;
}

// static property access
$ob = new A;
$ob->a = 123;
print_r($ob);

// dynamic property access
$prop = 'a';
$ob->$prop = 345; // effectively $ob->a = 345;
print_r($ob);

bu yüzden $var1, bazı nesnesinin bir örneği, -> bir o nesnenin üyesi ve $var2 bir özelliğin adını içeren erişim anlamına gelir.