2016-07-07 10 views
-9

Ich habe ein Array:Ausgangsfeld (KEY> VALUE) Eingabefelder

$abc=array(
    'car'=>'Mercedes', 
    'year'=>array ('first'=>1991, 'last'=> 2014), 
    'holder'=>'Jake' 
    ......so on, with deep-level arrays 
); 

Ich möchte eine Funktion rekursiv verschachtelte Array und Ausgangs Eingang für jeden endgültigen KEYNAME und KEYVALUE überprüfen:

<input name="KEYNAME" value="KEYVALUE" />

+8

ich mit Ihrem Ruf eine bessere Frage von einem Benutzer erwarten würde ... – jeroen

+0

i von einem Benutzer ein besseres Verständnis der Frage erwarten würde mit dein Ruf. :) –

+0

Es ist unklar, was Sie fragen. Kann ich nicht herausfinden, welche Art von Ausgabe gewünscht wird? –

Antwort

-3

hier ist eine Beispielfunktion:

function Input_vields($value, $keyname=''){ $keyname= (strpos($keyname,'[') === false) ? '['.$keyname.']' : $keyname; 
    if (!is_array($value)){ 
     echo 
     '<div class="each_ln"> 
      <div class="keyname">'.$keyname.'</div> 
      <div class="txtar"><textarea name="'.$keyname.'">'.$value.'</textarea></div> 
     </div>'; 
    } 
    else{ 
     foreach ($value as $keyname1=>$value1){ 
      echo '<div class="new_block">'; 
      Input_vields($value1, $keyname.'['.$keyname1.']'); 
      echo '</div>'; 
     } 
    } 
} 

Ergebnisse: http://phpfiddle.org/main/code/wzr5-u1v6 (klicken RUN)

+0

Obwohl dieser Code kann helfen, das Problem zu lösen, bietet zusätzlichen Kontext in Bezug auf _why_ und/oder _how_ it Antworten würde die Frage deutlich verbessern langfristigen Wert. Bitte [bearbeiten] Sie Ihre Antwort, um eine Erläuterung zu hinzuzufügen. –

-1
foreach ($abc as $key => $value) { 
    if (is_array($value)) { 
     foreach ($value as $key2 => $value2) { 
      echo $key2.': <input name="'.$key2.'" value="'.$value2.'" />'; 
     } 
    } else { 
     echo $key.': <input name="'.$key.'" value="'.$value.'" />'; 
    } 
} 

Ergebnis:

car: <input name="car" value="Mercedes"> 
first: <input name="first" value="1991"> 
last: <input name="last" value="2014"> 
holder: <input name="holder" value="Jake">