繁体   English   中英

从作为数组的对象属性访问值

[英]Accessing Values From Object property that is an array

如何从数组的对象属性访问值?

例如:

$myObject = new MyClass;

$myObject->myproperty = array(1 => 'English', 2 => 'French', 3 => 'German');

如何使用$myObject->mypropery的数组键获取单个属性值? 使用$myObject->myproperty[3]不起作用。

编辑:使用$myObject->myproperty[3]确实有效。 我发现问题的地方是这样的:

$myproperty = 'myproperty';

echo $myObject->$myproperty[3]

// result : 'r'

但是,如果我在$myObject->$myproperty上执行var_dump, $myObject->$myproperty看到数组。

尝试这个:

$myObject->myproperty[3]

代替这个:

$myObject->$myproperty[3]
$tmp = $myObject->$myproperty;
echo $tmp[1];
//or
echo $myObject->{$myproperty}[1];

要访问您的myproperty数组值,请尝试以下操作:

$myObject->{$myproperty}[3]

代替:

$myObject->$myproperty[3]

这些称为变量变量,有关更多信息,请访问: http : //php.net/manual/en/language.variables.variable.php

echo结果为r的原因是因为您的$mypropery值是mypropery并且执行了此echo $myObject->$myproperty[3] ,这意味着您需要第三个字符数组键值。 由于数组是从零开始的,这意味着您将得到字符r 希望这可以弄清为什么您的结果是r

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM