Forum Webscript.Ru
Программирование => PHP => Тема начата: Skyer от 06 Апреля 2004, 01:52:24
-
Есть, скажем, 100 переменных($a, $b, $c...$z). Все значения вводятся пользователем через форму. Как сделать так, чтобы если значения двух или более переменных окажутся одинаковыми, выводилось сообщение "Так нельзя"?
-
Skyer
если эти 100 переменных и есть вся форма (я имею ввиду что в форме нет других полей, на которые не распространяется это ограничение) то например
if (array_unique($_POST) != $_POST) {
echo "есть дубликаты";
}
если, кроме этих 100 переменных есть еще и другие поля, то их надо в массив объединить
-
Да, другие поля есть.
то их надо в массив объединить
То есть, тот код, что ты написал, только вместо "$_POST" имя массива?
-
Skyer:
То есть, тот код, что ты написал, только вместо "$_POST" имя массива?
да. Ты вообще понял, что код делает ?
-
Макс
Я так понимаю, что array_unique проверяет, все ли значения элементов массива разные, и если это так, выводит TRUE, иначе - FALSE.
Спасибо! This shit works!:)
-
Skyer
нет.
[p]array_unique[/p] возвращает переданный ей массив без дубликатов.
Например
$a = array(1, 2, 3, 4, 5, 1);
$a = array_unique($a);
print_r($a);
выдаст Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
если в массиве все значения были уникальны, то функция вернет массив, равный переданому. Что мы и проверяем в условии.
-
Макс
Теперь стало понятно. Спасибо!