0

これは、Drupal CCKフィールドの取得に関連する質問です(万が一何かが変わった場合に備えて)。

似たような名前のDrupalCCKフィールドがいくつかあります。それらは同じ名前で、最後に番号が付いています。これらのフィールドから値を取得したいと思います(合計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']

しかし、これはしません:

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

(だから私は書くことができません${'node->cck_field'.$i}[0]['value']

では、数字の代わりに$ iを使用できるように、これをどのように書くことができますか?

4

1 に答える 1

6

これは機能するはずです:

$node->{'cck_field_' . $i}[0]['value']
于 2010-12-27T03:15:01.390 に答える