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

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

  • rukablood

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

    Spritz 29 ноября 2010 г. 23: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 г. 23:21, спустя 2 минуты 20 секунд

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

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

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


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

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

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

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

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

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

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

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

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

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