PHP, как перебирать массив сообщений

Мне нужно пройти через массив сообщений и пропустить его.

#stuff 1 <input type="text" id="stuff" name="stuff[]" /> <input type="text" id="more_stuff" name="more_stuff[]" /> #stuff 2 <input type="text" id="stuff" name="stuff[]" /> <input type="text" id="more_stuff" name="more_stuff[]" /> 

Но я не знаю, с чего начать.

Вот как вы это сделаете:

 foreach( $_POST as $stuff ) { if( is_array( $stuff ) ) { foreach( $stuff as $thing ) { echo $thing; } } else { echo $stuff; } } 

Это заставляет и переменные, и массивы передаваться в $_POST .

Вероятно, вам также понадобятся значения каждого элемента формы, такие как значение, выбранное из раскрывающегося списка или флажка.

 foreach( $_POST as $stuff => $val ) { if( is_array( $stuff ) ) { foreach( $stuff as $thing) { echo $thing; } } else { echo $stuff; echo $val; } 

}

 for ($i = 0; $i < count($_POST['NAME']); $i++) { echo $_POST['NAME'][$i]; } 

Или

 foreach ($_POST['NAME'] as $value) { echo $value; } 

Замените NAME именем элемента, например, stuff или more_stuff

Вы можете использовать функцию array_walk_recursive и анонимную функцию, например:

 $sweet = array('a' => 'apple', 'b' => 'banana'); $fruits = array('sweet' => $sweet, 'sour' => 'lemon'); array_walk_recursive($fruits,function ($item, $key){ echo "$key holds $item <br/>\n"; }); 

следует этой версии ответа:

 array_walk_recursive($_POST,function ($item, $key){ echo "$key holds $item <br/>\n"; });