Как «Проверить, есть ли повторяющиеся значения в POST-массиве»?

#php #html #arrays #post

#php #HTML #массивы #Публикация

Вопрос:

У меня есть страница, на которой пользователь может выбирать между элементами флажка. Меня беспокоит то, что любой может редактировать эти значения флажков, используя режим разработчика. Я думаю, что после нажатия кнопки отправки страница php проверит, есть ли повторяющиеся значения из массива POST.

Значения каждого элемента флажка имеют одинаковую длину. Поэтому я не могу просто сравнить длину каждого элемента внутри $_POST[‘arr1’] .

 <form action="/action_page.php" method="get">
  <input type="checkbox" name="arr1[]" value="201468"> One<br>
  <input type="checkbox" name="arr1[]" value="201469" > Two <br>
  <input type="checkbox" name="arr1[]" value="201470" > Three <br>
  <input type="submit" value="Submit">
</form>
 

На странице действий

Я понятия не имею, что поставить здесь, чтобы проверить, будет ли у arr1[] повторяющиеся значения.

Комментарии:

1. создайте массив вашего фактического значения на стороне php, а затем, когда вы получите значение, сформируйте пользовательскую проверку через php-массив, например if(in_array($userValue,$ phpArray))

2. array_unique , array_count_values , сравните POST с другим массивом со значениями.

3. почему бы вам не добавить уникальные значения в атрибут value? так что нет необходимости проверять дубликаты PHP

4. У меня есть уникальные значения. Просто любой пользователь может редактировать значения в режиме разработчика в браузерах.

Ответ №1:

Спасибо, ребята! Оказывается, «array_unique» — это решение, которое я искал.