PHP:数组作为属性

时间:2009-08-16 19:42:34

标签: php arrays object attributes

如果我有一个带有数组作为属性的对象,那么访问它的最简单方法是什么?

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

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

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

这似乎不起作用。有什么我做错了,还是我必须先把它分配给一个变量?

$arr = $obj->odp;

//access "ftw"
$arr[0]

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

3 个答案:

答案 0 :(得分:4)

只能使用数组语法($array['key'])访问数组,只能使用对象语法($object->property)访问对象。

仅对对象使用对象语法,仅对数组使用数组语法:

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

答案 1 :(得分:0)

这样做:

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

答案 2 :(得分:0)

$obj->odp是一个数组,因此$obj->odp[0]读取“ftw”。没有像$obj->odp->0这样的东西。