Я пытаюсь проверить $_POST ключи для значений

Это $ _POST:

Array
(
    [user_lastname] => xx
    [user_firstname] => x
    [sex] => x
    [email] => x@email.com
    [key1] => no
    [key2] => yes
    [key3] => no
    [submit] => Next
)

Это ключи:

$arr = array("key1", "key2", "key3");

И думал о том, чтобы сделать что-то подобное ... просто не знал, как это сделать.

foreach($arr as $ar) {
   //check values $_POST keys for specific value(in my case `yes`)     
}

Итак, в приведенном выше примере key2 имеет значение yes, что делает его истинным.

И хотел бы по возможности извлечь значение ключа [submit] => Next из $_POST.

php
0
Ciprian 13 Фев 2015 в 12:40

3 ответа

Лучший ответ

Вы можете сделать что-то простое, как

foreach($arr as $ar) {
   if ($_POST[$ar] == 'yes')
      {
           echo "Key $ar is true";
      }
}
1
baao 13 Фев 2015 в 09:45

Вы можете использовать функцию in_array (docs).

if (in_array('email', $arr)) {
    // True, it's in the array.
}
-2
James 13 Фев 2015 в 09:41

Вы можете попробовать что-то вроде этого:

// loop through your array
foreach ($arr as $ar)
{
// check if the post key exists 
if ( isset($_POST[$ar]) )
{
// it exists, do something, validate it, check its values, etc
}
}

Что касается вашего последнего вопроса, просто:

unset($_POST['submit']);
-1
andrew 13 Фев 2015 в 09:46