2010-12-27 14 views
0

Dies ist eine Frage im Zusammenhang mit Drupal CCK Felder (nur für den Fall, dass passiert etwas zu ändern)."Variable Variable" -Syntax

Ich habe mehrere Drupal CCK Felder mit ähnlichen Namen. Sie haben den gleichen Namen mit einer Nummer am Ende. dass ich Werte aus diesen Feldern ziehen möchte (insgesamt zehn Felder). Dies ist die Syntax für den Zugriff auf die Felder Werte:

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

... etc.

Da sie alle separate Felder sind, aber sie sind nummeriert, würde ich gerne schrittweise inkrementieren, um herauszuschreiben, was ich brauche (es gibt viel mehr zu dem, was ich schreibe, als nur auf diese Felder zuzugreifen ') Daten, aber sie sind die bestimmenden Faktoren des Rests), aber ich kann nicht herausfinden, wie man eine Variable in diesen Teil des Codes einfügt.

zB (wenn $i die inkrementelle Anzahl Variable sind), würde ich die folgende Zeichenfolge als eine Variable in der Lage sein möge, schreiben:

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

ich über die Verwendung der geschweiften Klammern verstehen, um eine Variable zu erstellen Name aus einer Zeichenfolge, aber der Teil, den ich brauche, muss außerhalb der Zeichenfolge sein. z.B. dies funktioniert:

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

aber nicht:

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

(so kann ich nicht schreiben ${'node->cck_field'.$i}[0]['value'])

Wie kann diese schreiben, so dass ich i $ an Ort und Stelle kann der Nummer?

Antwort

6

Dies sollte funktionieren:

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

Perfect! Vielen Dank; Ich glaube, ich habe jede Kombination ausprobiert, außer diesem! – Kerri