#php #mysql #array-difference
#php #mysql #массив-разница
Вопрос:
у меня проблема с array_diff.
У меня есть текстовое поле с юридическими адресами электронной почты. Я получаю их из базы данных mysql. Когда я вставляю их в текстовую область, я также сохраняю их в массиве.
Когда форма отправлена, у меня есть функция, которая берет содержимое текстовой области и сравнивает его с первым массивом. Таким образом, я могу видеть, добавил ли пользователь другой адрес электронной почты.
Моя проблема в том, что array_diff выводит весь массив, а не элементы, которые отличаются.
Я попытался вывести массивы до их сравнения, и они оба имеют правильные значения. Когда я пробовал использовать фиктивные массивы с жестко заданными значениями, вывод был правильным.
Что может вызвать это?
Ответ №1:
Это зависит от того, как вы добавляете в текстовую область и как вы их возвращаете.
Предполагая, что у вас есть адреса электронной почты в отдельных строках в базе данных, вы можете объединить их с n
в текстовой области, а затем продолжить n
… но если вы используете Windows, тогда строки разделяются rn
символом, поэтому вы будете сравнивать email@example.com
с email@example.comr
, что отличается. Это приведет к тому, что весь массив будет указан в списке без какой-либо видимой причины.
Комментарии:
1. Я использую это, чтобы получить содержимое текстовой области: $text = trim($_POST[‘textarea’]); $NewMail = explode(» n», $text); $NewMail = array_filter($NewMail, ‘trim’);
2. Да, так что, если вы используете Windows (для просмотра и отправки текстовой области, а не самого сервера), тогда вы можете заблудиться
r
. Попробуйте$text = trim(str_replace("r","",$_POST['textare']));
(и этоtextare
илиtextarea
есть?)3. Это текстовое поле. Но Windows? Я думаю, это PHP-скрипт на сервере apache. При добавлении значений из базы данных в текстовую область у меня возникает цикл с #value . » n»
4. Я не ясно выражаюсь. На каком компьютере ВЫ работаете? Тот, в котором у вас открыт браузер, тот, который вы используете, чтобы нажать кнопку отправки?
5. У меня Macbook с OSX Lion