[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сравнение строк
lightstar
Необходимо сравнить 2 строки
1: Имя, Имя90, 7Имя и тд
2: Имя
Так чтобы не выдавало лишних совпадений.

$all_friend="222,32222,2223,22223";
$friend="2222";
if(similar_text($all_friend,$friend)==='0'){
//....
}else{
//....
}
//similar_text выдает 4


Подскажите как...



Спустя 3 минуты, 11 секунд (25.07.2011 - 21:54) Winston написал(а):
Вот так
$all_friend="222,32222,2223,22223";
$friend="2222";
//так
//if(strcmp($all_friend,$friend) == 0){
//или так
//if($all_friend === $friend){
//....

}else{
//....
}

Спустя 8 минут, 51 секунда (25.07.2011 - 22:03) lightstar написал(а):
классно конечно,но...
$all_friend="222,32222,2223,22223"; //совпадений нет
$all_friend="222,32222,2223,22223,2222"; //совпадений нет
$friend="2222";
//так
if(strcmp($all_friend,$friend) == 0){
echo "совпадения есть";
}else{
echo "совпадений нет";
}

и так тоже
$all_friend="222,32222,2223,22223";  //совпадений нет
$all_friend="222,32222,2223,22223,2222"; //совпадений нет
$friend="2222";
if($all_friend === $friend){
echo "совпадения есть";
}else{
echo "совпадений нет";
}

Спустя 5 минут, 18 секунд (25.07.2011 - 22:09) Winston написал(а):
Цитата (lightstar @ 25.07.2011 - 22:03)
совпадений нет

Правильно, ты же хочешь
Цитата (lightstar @ 25.07.2011 - 21:51)
сравнить 2 строки

А как видно у тебя $all_friend="222,32222,2223,22223,2222"; а $friend="2222"; это разные строки, а так работает

$all_friend="222,32222,2223,22223"; //совпадения есть 
$friend="222,32222,2223,22223";
//так
if(strcmp($all_friend,$friend) == 0){
echo "совпадения есть";
}else{
echo "совпадений нет";
}

Спустя 1 минута, 54 секунды (25.07.2011 - 22:10) lightstar написал(а):
Мне нужно сравнить имя пользователя со списком друзей, чтобы исключить повторное добавление в друзья.

Спустя 52 секунды (25.07.2011 - 22:11) Invis1ble написал(а):
lightstar
если я правильно понял, то
$all_friend="222,32222,2223,22223";
$friend="2222";

echo in_array($friend, explode(',', $all_friend)) ? 'Yes' : 'No';

Спустя 1 минута, 12 секунд (25.07.2011 - 22:12) lightstar написал(а):
Спасибо,работает)

Спустя 4 минуты, 37 секунд (25.07.2011 - 22:17) Invis1ble написал(а):
можно регуляркой еще, возможно это оптимальней
echo preg_match('#(?:,|^)' . preg_quote($friend) . '(?:,|$)#s', $all_friend) ? 'yes' : 'no';

Спустя 52 секунды (25.07.2011 - 22:18) Winston написал(а):
Цитата (lightstar @ 25.07.2011 - 22:10)
Мне нужно сравнить имя пользователя со списком друзей, чтобы исключить повторное добавление в друзья

Да.... А в первом посте нельзя было написать? smile.gif



Спустя 6 минут, 7 секунд PHPprogrammer написал(а):
Цитата (Invis1ble @ 25.07.2011 - 22:17)
возможно это оптимальней

Регуляркой оптимальней не будет, это точно, вот твой пример это возможно оптимально. Можно так еще

$all_friend="222,32222,2223,22223"; //совпадения есть 
$friend="222";

$var = explode(',', $all_friend);
if(preg_grep("#^" . $friend . "$#", $var))
echo 'есть';
else
echo 'нету';
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.