wmmail.ru – cервис почтовых рассылок на главную
написать письмо
карта сайта

С чего начать?РекламодательПравилаFAQСтатистикаБиржа статейTOP100ФоткиКонтакты
Логин:
Пароль: 
Регистрация   Забыли пароль?
WMLogin
Пользователей всего:

514785

Пользователей сегодня:

48

Пользователей online:

139

Выплачено ($): 7`610`472,65
Выплат: 8`119`373
Писем прочитано: 1`024`984`293

 
 
Online 6
Все ответы
 
 

Тема #191551

Внимание! В разделе запрещается:

  • Мат (оскорбления)
  • Частично реклама
  • Нарушение законодательства РФ
  • Попрошайничество и просьбы одолжить деньги, кредиты или монеты

Выделите текст и нажмите для цитирования  #  
+1   [19.07.2013 19:16] NIKNN Рейтинг 0.00     Стена пользователя NIKNN +237

Закрытая тема от пользователя NIKNN Вопрос касательно сравнение 2х строк в php

В общем такая беда.
Есть 2 textarea
они передают несколько строк в переменные $texts и $keys
Я сразу забиваю их в массив по отдельности и тут начинается какая-то ерунда..
При выгрузке с массива мне нужно проверить ровна ли строка с 1 текстового поля, 1 строке с текстового поля 2
$texts = explode("\n", $_POST['texts']);

$keys = explode("\n", $_POST['keys']);

$pr = 0;
$vh = 0;
$bz = 0;
$bza = 0;



foreach ( $texts as $text ) {
foreach ( $keys as $key ) {
$key = $key;
$text = $text;



if (!strcmp($text,$key)) {
$pr++;
}
elseif (stristr($text,$key)) {

$vh++;

}

}
}
В итоге у меня плюсует все в $vh

Конструкция
if ($text == $key)) {
$pr++;
}
elseif (stristr($text,$key)) {

$vh++;

}
почему то дает тот же эффект. при этом я вывожу значения до сравнения и ОНИ РАВНЫ.
Т.е. текстовое поле 1 содержит строки:
Текст 1
Текст 2
Т.е. текстовое поле 2 содержит строки:
Текст 1
Текст 1
и при сравнении
Текст 1 == Текст 1 мне выдает что это НЕ ТАК. Почему?
Может кто поможет решить проблему?
Данные передаю через POST кодировка везде UTF 8

Кто решит задачку тому пряник в 1$ как поощрение

Раздел: Другое, последний комментарий: 19.07.2013 20:09
Тема закрыта пользователем takashikanoe
Проголосовали: Simpler
Ответы
Ответов всего: 7  тема закрыта 
Выделите текст и нажмите для цитирования  #  
0   [19.07.2013 19:17] neebabelna Рейтинг 891.55     Стена пользователя neebabelna +960  Все ответы пользователя neebabelna

ыыы=спроси бабайку
Выделите текст и нажмите для цитирования  #  
0   [19.07.2013 19:17] Sinot4 Рейтинг 0.00     Стена пользователя Sinot4 +121  Все ответы пользователя Sinot4

Ты реально думаешь найдется человек, который решит проблему. Который не можешь решить ты?
Выделите текст и нажмите для цитирования  #  
0   [19.07.2013 19:19] #1637493   Все ответы пользователя

сформулируй человеческим языком...

1)текст 1. текст два..
2) что с ними делаем...
Выделите текст и нажмите для цитирования  #  
0   [19.07.2013 19:22] Esa_ko Рейтинг 1546.11     Стена пользователя Esa_ko +245  Все ответы пользователя Esa_ko

я что-то массивов не вижу

давай на примере сделай
Выделите текст и нажмите для цитирования  #  
0   [19.07.2013 19:36] NIKNN Рейтинг 0.00     Стена пользователя NIKNN +237  Все ответы пользователя NIKNN

Esa_ko пишет я что-то массивов не вижу

давай на примере сделай

поправил

Добавлено спустя 15 секунд
Sinot4 пишет Ты реально думаешь найдется человек, который решит проблему. Который не можешь решить ты?

Я же не Бог))
Выделите текст и нажмите для цитирования  #  
0   [19.07.2013 19:37] #1299500   Все ответы пользователя

А кто тебе про функцию "!strcmp" рассказал?
Первый раз вообще слышу.
strcmp знаю, но уж точно не !strcmp
Выделите текст и нажмите для цитирования  #  
+1   [19.07.2013 20:09] Simpler Рейтинг 30783.30     Стена пользователя Simpler +711  Все ответы пользователя Simpler

"\r\n" - на винде
"\n" - на линуксе

Вот так правильно:
$texts = explode(PHP_EOL, $_POST['texts']);
$keys = explode(PHP_EOL, $_POST['keys']);


PHP_EOL - предопределённая переменная содержащая символ конца строки

или очисть строки от мусора так:
$key = trim($key);
$text = trim($text);
Проголосовали: #1637493

НОВОСТИ
19.04.2024Технические работы с СБП
подробнее>>
03.04.2024Выплаты
подробнее>>

© 2004-2024 «WMMAIL» Пользовательское соглашение