PHP Dynamisches Array (Problem)
-
Hallo liebe WordPress-Gemeinde 😉
Ich habe kein passendes Forum für mein Problem gefunden, so schreibe ich es hier.
Ich versuche gerade in meinem eigenen Theme eine Abfrage zu programmieren, bei der ich als erstes auswähle wie viele Elemente (in meinem Fall Referenzen) ich anlegen möchte.
Diese Variable $mt_ref[anzahl] hat beispielsweise den Wert 3.
Und nun sollen 3x im Backend Eingabefelder generiert werden, die ich mit Inhalten belegen kann.Hier erstmal der Code:
<?php if (!$mt_ref[anzahl]=="") { $ref_to = $mt_ref[anzahl]; for($i = 0; $i < $ref_to; $i++) { $j = $i+1; $ref_for_name = "mt_ref['name".$j."']"; // bis hier funktioniert es $ref_var_name = "$".$ref_for_name; //$ref_var_name = ${$ref_for_name}; echo 'Debug <b>$ref_var_name</b>: '.$ref_var_name.'<br>'; echo 'Debug: <b>esc_attr_e()</b>: '.esc_attr_e($ref_var_name).'<br>'; echo 'Debugtest: $mt_ref[anzahl] '.$mt_ref[anzahl].'<br>'; ?> <!-- Kunden-Name --> <label for="<?=$ref_for_name;?>">Referenz Nr. <?=$j;?> - Kundenname <input style="width:700px" id="<?=$ref_for_name;?>" type="text" name="<?=$ref_for_name;?>" value="<?php esc_attr_e($ref_var_name);?>" /> </label> <br>Debug Value: <?=$$ref_var_name;?><br> <!-- Submit --> <p class="submit"><input type="submit" class="button-primary" value="Elemente abspeichern" /></p> <hr> <?php } }Das was funktioniert: Die Variable-Inhalte von $ref_for_name werden richtig ausgespielt (da sie nur ein String sind).
Das was nicht funktioniert ist die Variable $ref_var_name. Hier wird leider nur der String $mt_ref[name1] übergeben und nicht, wie es sein soll die Variable $mt_ref[name1]. Da ich sie für den value der Eingabe benutze sollte hier aber die echte Variable stehen.
Ich versuche schon seit Stunden heraus zu finden, wie ich diese ordentlich einbinde. Ich habe es auch schon mit folgendem versucht:
$mt_ref ändert sich ja nicht, also habe ich es so probiert:
$mt_ref[$ref_in_name] … allerdings gibt er mir hier auch nur den Volltext aus und nicht den Inhalt von $ref_in_name.
Ich benötzige also eine Funktion, die aus einer ‚$xyz‘ String eine $xyz Variable macht, welche zusätzlich innerhalb des Arrays funktioniert.
Kann mir jemand bitte helfen.
Dankende Grüße
Das Thema „PHP Dynamisches Array (Problem)“ ist für neue Antworten geschlossen.