我有一个数组:
$abc=array(
'car'=>'Mercedes',
'year'=>array ('first'=>1991, 'last'=> 2014),
'holder'=>'Jake'
......so on, with deep-level arrays
);
我想要一个函数以递归方式检查每个最终KEYNAME和KEYVALUE的嵌套数组和输出输入:
<input name="KEYNAME" value="KEYVALUE" />
答案 0 :(得分:-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.'" />';
}
}
结果:
car: <input name="car" value="Mercedes">
first: <input name="first" value="1991">
last: <input name="last" value="2014">
holder: <input name="holder" value="Jake">
答案 1 :(得分:-3)
这是一个示例函数:
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>';
}
}
}
结果:http://phpfiddle.org/main/code/wzr5-u1v6(点击RUN)