php – проверить, является ли $ _POST массив?

Я знаю, что это может быть глупый вопрос, но я сталкиваюсь с фрагментом кода php, который проверяет, есть ли $_POST is_array() перед выполнением других функций.

Теперь я предполагаю, что $ _POST всегда должен быть ассоциативным массивом или нет? эта проверка действительно нужна? и почему?

Если он не был изменен каким-то образом, как

 $_POST = 'not array'; 

то это массив 😉

Эта проверка не нужна. $ _POST – суперглобальный массив, который всегда определяется. Вы должны просто проверить определенные элементы, используя isset

  • $ _POST является суперглобальным и всегда определяется (всегда существует) и всегда является массивом
  • это верно, даже если оно не содержит никаких элементов
  • возможно, хотя и не рекомендуется, и я никогда не видел его, чтобы перезаписать или отменить его
  • вам не нужны isset () и is_array () для массива $ _POST, но вы часто будете нуждаться в них для элементов массива $ _POST

PHP гарантирует, что $ _POST всегда является массивом, вам не нужно делать эту проверку, если где-то в вашем коде вы не отменили или не перезаписали $ _POST.

$ _POST всегда является массивом, вероятно, он проверяет, является ли определенное значение $ _POST массивом.

<input name="test" /> $ _POST ['test'] не является массивом

<input name="test[]" /> $ _POST ['test'] массив

Его всегда массив, о котором многие уже говорили.

Я думаю, что, возможно, стоит проверить пустой массив. ! empty ($ _ POST) должен делать только отлично.

Может быть, у кодера есть разделы, где массив изменен на строку (немой, если вы спросите меня), и хочет сделать чек, иначе, если это утверждение будет первым, тогда его ненужное

$ _POST всегда определяется как массив, даже если он не содержит пары ключей / значений.

Как уже упоминалось несколько раз, $_POST является суперглобальным, который всегда определяется и всегда является массивом (если не перезаписываться).

Если вы пытаетесь проверить, что что-то было опубликовано, вы можете использовать что-то вроде следующего:

 if (count($_POST)) { // something has been submitted } 

Чтобы ответить на главный вопрос, нет, проверка is_array не требуется.