创建动态表单元素的PHP递归函数

avatar
作者
猴君
阅读量:0

function createFormElement($element) {     if ($element['type'] == 'text') {         echo '$element['name'] . '" placeholder="' . $element['placeholder'] . '">';     } elseif ($element['type'] == 'textarea') {         echo '';     } elseif ($element['type'] == 'select') {         echo '';     } elseif ($element['type'] == 'checkbox') {         echo '$element['name'] . '" value="' . $element['value'] . '">';     }          // Recursively create sub-elements if any     if (isset($element['sub_elements'])) {         foreach ($element['sub_elements'] as $sub_element) {             createFormElement($sub_element);         }     } } 

使用示例:

$formElements = [     [         'type' => 'text',         'name' => 'username',         'placeholder' => 'Enter your username'     ],     [         'type' => 'select',         'name' => 'gender',         'options' => [             ['value' => 'male', 'label' => 'Male'],             ['value' => 'female', 'label' => 'Female']         ]     ],     [         'type' => 'checkbox',         'name' => 'agree_terms',         'value' => 'yes'     ] ];  foreach ($formElements as $element) {     createFormElement($element); } 

这个函数可以根据传入的动态表单元素数组,递归地生成对应的HTML表单元素。您可以根据需要添加更多类型的表单元素和相应的处理逻辑。