2010-12-27 12 views
0

これは(単に何かを変えてしまった場合の)DrupalのCCKフィールドを取得に関連した質問です。「可変変数」構文

私は似たような名前を持ついくつかのDrupalのCCKフィールドを持っています。彼らは最後に同じ番号をつけています。これらのフィールド(合計10フィールド)から値を引き出したいと考えています。フィールド値にアクセスするための構文は次のとおりです。

$node->cck_field_1[0]['value'] 
$node->cck_field_2[0]['value'] 
$node->cck_field_3[0]['value'] 

...などです。

これらのフィールドはすべて別々のフィールドですが、番号が付けられているので、私は必要なものを書き出すために段階的にループしたいと思います(これらのフィールドにアクセスするだけでなく、データ、しかしそれは残りの要素の決定要因ですが)、コードのその部分に変数を挿入する方法を理解することはできません。

例えば、($i増分数の変数であれば)、私は変数として次の文字列を書くことができるようにしたいと思います:

'$node->cck_field_' . $i . '[0]["value"]' 

私は、変数を作成するために、中括弧の使用について理解名前を文字列から取得する必要がありますが、変数が必要な部分は文字列の外側にある必要があります。例えばこれは動作します:

${node}->cck_field_1[0]['value'] 

が、これはしません:私は場所で$ Iを使用できるように

${node->cck_field_1}[0]['value'] 

(私は${'node->cck_field'.$i}[0]['value']を書き込むことはできません)

それでは、どのようにこれを書くことができます番号の?

答えて

6

これは動作するはずです:

$node->{'cck_field_' . $i}[0]['value'] 
+0

パーフェクト!本当にありがとう;私はそれを保存するすべての組み合わせについて試したと思う! – Kerri

関連する問題