2016-06-17 1 views
0

私の場合は、データベースから別のデータベースにデータセットを渡すためのモジュールを作成しています。 node_save()を使用したいので、stdClass()でノードオブジェクトを作成する必要があります。 私は、この例のように配列にデータセットをエクスポートしたら:PHPオブジェクト内で外部値を使って新しい属性を作成する

$values = array(
    "data1" => "example1", 
    "data2" => "example2", 
    ... 
); 

私はこの方法でそれが簡単に属性を作成することができ、アレイを流れる

$node = stdClass(); 
$node->title = 'Example'; 

に値を配置する必要がありタイトルのように、それにような興味を持って値渡し:

foreach ($values as $key) { 
    $node->$key = $values[$key]; 
} 

を自動的

のような属性を作成する方法があります
$node->$key 

そして値を渡しますか?

答えて

0

$node->{$key}を使用する代わりに$node->$key試みの)この方法を試してください。

foreach ($values as $key => $val) { 
    $node->{$key} = $val; 
} 

をあなたの例の配列の場合:

$values = array(
    "data1" => "example1", 
    "data2" => "example2", 
    ... 
); 

意志出力上記のコード:

$node->data1 = "example1"; 
$node->data2 = "example2"; 

object(stdClass)#1 (2) { 
    ["data1"]=> string(8) "example1" 
    ["data2"]=> string(8) "example2" 
} 
+1

解決済み!どうもありがとう – Nilsen

1

た場合をあなたの配列は単なる次元であり、単純にその配列をオブジェクトとしてヒントをタイプすることができますlike

$values = array(
    "data1" => "example1", 
    "data2" => "example2", 
); 

$values = (object) $values; 

echo $values->data1;//example1 
関連する問題