PHP检查POST方法是否包含其中一个值

时间:2016-07-19 08:20:19

标签: php arrays post

你可以帮我解决这个问题吗: 我需要检查,如果在数组中,在$ _POST中传递的内容包含一些特定值,如果是,则执行某些操作..目前我有:

$count=count($_POST['prcategory']);
if(implode($_POST['prcategory']) == "'Cost Collection'" && $count=1 ){
  ...do stuff
}
elseif (implode($_POST['prcategory']) == "'Cost Collection'" && $count > 1 )
{
  ...do other stuff
}
else {.... }

但是对于我未知的原因,当计数> 1时,它总是转到最后一个其他选项 - 很可能,这是因为我不知道,如果其中一个POST值包含,如何正确检查我需要的价值..

对此有何建议?

P.S。所有值都用引号传递,例如没关系,我引用了“成本收集”

2 个答案:

答案 0 :(得分:2)

使用简单的if else

注意:$ _POST [' prcategory']应该是一个数组()其他明智的in_array将不起作用

    if(isset($_POST['prcategory'])) {
     $count = count($_POST['prcategory']);
     $data = $_POST[prcategory];
     if (in_array("'Cost Collection'", $data)) { // 'Cost Collection' is the value to check in array $data u can use any value
            if ($count == 0 ) {
                //do stuff.......

            }elseif($count > 1)  {
                  //do stuff.......

            }else {
                //do stuff.......
            }

     }else {
            //do stuff.......
          }
   }

答案 1 :(得分:1)

if(isset($_POST['prcategory']))
{
   // do stuff...
}