簡體   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