簡體   English   中英

Magic方法從數組中動態獲取和設置值

[英]Magic method get and set values dynamically from array

我很抱歉,如果之前已經提出這樣的問題,但根據我的問題我找不到任何東西。

我有一個使用像get和set這樣的魔術方法的類。 我想要的是使用數組的屬性作為設置“名稱”,以便以后使用get“name”訪問該屬性。

我現在應該做什么:

$arr = array('name' => 'value')
$this->obj->name = $arr['name'];

我想要的是什么,並且在我嘗試時不起作用:

$arr = array('name' => 'value');

foreach($arr as $item)
   $this->obj->[$item] = $item['name'];

echo $this->obj->name; // result should be 'value'

正確的方法是:

$arr = array('name' => 'value');

foreach($arr as $attributeName =>$value) {
  $this->obj->{$attributeName} = $value;
}

echo $this->obj->name;

PHP實際上非常適合魔術方法,這看起來像是一種語法。 你應該能夠完成你所追求的目標

foreach ($arr as $key => $item) 
    $this->obj->$key = $item;

echo $this->obj->name; // Results in 'value'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM