输出数组(KEY> VALUE)输入字段

时间:2016-07-07 13:24:34

标签: php arrays

我有一个数组:

$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" />

2 个答案:

答案 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)