PHP: Diziler Özellikler olarak

3 Cevap php

Ben bir nitelik olarak bir dizi ile bir nesne varsa, erişmek için en kolay yolu nedir?

$obj->odp = array("ftw", "pwn", array("cool" => 1337));

//access "ftw"
$obj->odp->0

//access 1337
$obj->odp->2->cool

Bu işe görünmüyor. Yapıyorum yanlış bir şey mi var, yoksa ben ilk bir değişkene atamak zorunda mı?

$arr = $obj->odp;

//access "ftw"
$arr[0]

//access 1337
$arr[2]["cool"]

3 Cevap

Diziler sadece ($array['key']) dizi sözdizimi ile erişilen ve sadece nesne sözdizimi ile nesneleri olabilir ($object->property).

Sadece nesneler ve sadece diziler için dizi sözdizimi için nesne sözdizimini kullanın:

$obj->odp[0]
$obj->odp[2]['cool']

Bu gibi yapın:

$obj->odp[0]['cool']

$obj->odp bir dizidir, bu nedenle $obj->odp[0] "FTW" okur. $obj->odp->0 gibi böyle bir şey yoktur.