ФорумПрограммированиеPHP для идиотов → Преобразование многомерного массива в hidden (text) поля

Преобразование многомерного массива в hidden (text) поля

  • rukablood

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 29 ноября 2010 г. 15:19

    Помогите решить задачу:

    Необходимо написать функцию, на входе которой будет одномерный/многомерный массив,
    который должен быть преобразован в hidden поля формы, при сабмите (POST) которой мы получим точно такой же массив как на входе.

    Иными словами:

    ARRAY (INPUT)
    =>
    <form method="post"><input type="hidden" name="…" value="…">……</form>
    =>
    submit
    =>
    ARRAY (OUTPUT) = ARRAY (INPUT)

    Задачу необходимо решить именно функциональным методом. Serialize не предлагать )


    Вот код, который я написал.


    $hard = array();
    $hard['a'] = 'aa';
    $hard['b']['b3']['f'] = 'f2';
    $hard['b']['b1'] = 'b1';
    $hard['b']['b2'] = 'b2';

    $hard['c']['c1']['qqq'] = 'qqq';
    $hard['c']['c2'] = 'c2';


    function draw_hidden($array, $name = '')
    {

    static $level;
    foreach( $array as $key => $value )
    {
    if( $level == 0 )
    {
    $name = $key;
    }
    else
    {
    $name .= '['.$key.']';
    }

    if( is_array($value) && sizeof($value) > 0 )
    {
    $level++;
    draw_hidden($value, $name);
    $level –;

    }
    else
    {
    $input = ' <input type="text" name="'.$name.'" value="'.$value.'">';
    echo '<b>'.$name.'</b>'.htmlentities($input).'<br>';
    }
    }
    }

    draw_hidden($hard);


    Но он работает неправильно. Укажите, в чем ошибка и помогите довести код до ума
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 29 ноября 2010 г. 15:21, спустя 2 минуты 20 секунд

    эм… а ты знаешь, кто такой рукоблуд?
    Высокоуровневое абстрактное говно
  • rukablood

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 29 ноября 2010 г. 15:34, спустя 12 минут 46 секунд


    эм… а ты знаешь, кто такой рукоблуд?

    Я уверен, что ты не только знаешь, но и регулярно практикуешься. но суть не в этом. есть что по теме?
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 29 ноября 2010 г. 15:35, спустя 1 минуту 12 секунд

    остряк))
    Высокоуровневое абстрактное говно
  • master

    Сообщения: 3237 Репутация: N Группа: Джедаи

    Spritz 29 ноября 2010 г. 15:46, спустя 10 минут 34 секунды

    кто такой рукоблуд?

    это тот у кого руки в крови =)
    не всё полезно, что в swap полезло

Пожалуйста, авторизуйтесь, чтобы написать комментарий!