Проверка PHP $ _POST - PullRequest
       15

Проверка PHP $ _POST

2 голосов
/ 30 августа 2011

Существует ли быстрый и простой способ проверить, имеет ли какое-либо из моих данных $ _POST такое же значение?

Мне нужно это как условный оператор ...

Пример:

$week1 = $_POST['Week_1'];
$week2 = $_POST['Week_2'];
$week3 = $_POST['Week_3'];
$week4 = $_POST['Week_4'];
$week5 = $_POST['Week_5'];
$week6 = $_POST['Week_6'];
$week7 = $_POST['Week_7'];
$week8 = $_POST['Week_8'];
$week9 = $_POST['Week_9'];
$week10 = $_POST['Week_10'];
$week11 = $_POST['Week_11'];
$week12 = $_POST['Week_12'];
$week13 = $_POST['Week_13'];
$week14 = $_POST['Week_14'];
$week15 = $_POST['Week_15'];
$week16 = $_POST['Week_16'];
$week17 = $_POST['Week_17'];

Если значения любой из недель = равны значению любой другой недели, ошибка ...

Есть ли быстрый способ сделать это в PHP?

Спасибо!

Крис

Ответы [ 3 ]

2 голосов
/ 30 августа 2011

сначала, хотя заглянуть мне в голову:

$r=array_unique(array($week1, ...));
 if (count($r) !=17){

//error
}
1 голос
/ 30 августа 2011

Если у вас есть только $_POST значения от 'Week_1' до 'Week_17', тогда

if (count(array_unique($_POST))  ===  count($_POST)) {
  //all unique values, do stuff...
}
1 голос
/ 30 августа 2011

Просто переберите пары и сравните их:

  $weeks=array();

   foreach(range(1,17) as $i)
   {
     array_push($weeks,'Week_' . $i);
   }

   foreach(range(1,16) as $i)
   {
     foreach(range($i+1,17) as $j)
       {
         if($_POST[$weeks[$i]]==$_POST[$weeks[$j]])
           {
             die("Rut-roh!");
           {
         }
       }
    }
...