Сравняване на два стринга
10 отговора
302 прегледа
Сравняване на два стринга
Трябва да сравня два стринга всеки с дължина между 1 и 12 знака, сравнението трябва да е знак по знак като щом който и да е знак от първия стринг съвпадне с който и да е знак от втория, сравнението приключва с true, а ако никой не съвпадне и се сравнят всички знаци от първия с всички знаци от втори, сравнението приключва с false. Мисля да го направя с функция с аргументи двата стринга. Опитах да го направя с два вложени цикъла - първи цикъл от 0 до дължината на първия стринг, втория цикъл от 0 до дължината на втория стринг, но нещо не се получава. Подскажете алгоритъм за сравнението. Благодаря.
Re: Сравняване на два стринга
$mathced = sizeof(array_intersect(preg_split('//', $str1, -1, PREG_SPLIT_NO_EMPTY), preg_split('//', $str2, -1, PREG_SPLIT_NO_EMPTY))) ? true : false;
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Re: Сравняване на два стринга
Не би трябвало да има проблем с два вложени цикъла.
За по- лесно един цикъл по единия стринг и strpos() в него.
Принципно е същото, но вътрешния цикъл не го правиш ти, а strpos().
п.п. Виж и варианта на Bълk. Той е на един ред
За по- лесно един цикъл по единия стринг и strpos() в него.
Принципно е същото, но вътрешния цикъл не го правиш ти, а strpos().
п.п. Виж и варианта на Bълk. Той е на един ред
Редактирано от vido на
Re: Сравняване на два стринга
Много ви благодаря! Особено ме впечатли Кумчо Вълчо, забелязал съм, че винаги отговаря "по-така", като е в настроение...
каква е целта?
Не успях да разбера какво точно искаш да направиш. Можеш ли да дадеш някакъв пример?
Everything louder than everything else...
Everything louder than everything else...
Re: каква е целта?
Извинявай, но кое не е ясно? Задачата е да се установи дали поне един от елементите на стринг1 съвпада с кой да е елемент от стринг2, като стринговете се сравняват знак по знак? Може би се чудиш какво е практическото приложение? Ами правя страница, в която двама потребители да могат да си мерят стринговете
Не се обиждай на шегата ми, оценявам това, че проявяваш интерес към проблема ми и ти благодаря...
Re: Сравняване на два стринга
"благодаря" не се пие 
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
последно?
Първия път написа, че трябва "който и да е знак от първия стринг да съвпадне с който и да е знак от втория", което означава низовете да съдържат едни и същи знаци. А сега си написал, че искаш "поне един от елементите на стринг1 да съвпада с кой да е елемент от стринг2", което е съвсем различно от първото!?
Everything louder than everything else...
Everything louder than everything else...
Редактирано от Dakota на
Re: последно?
Ето това написах първия път:
"Трябва да сравня два стринга всеки с дължина между 1 и 12 знака, сравнението трябва да е знак по знак като щом който и да е знак от първия стринг съвпадне с който и да е знак от втория, сравнението приключва с true, а ако никой не съвпадне и се сравнят всички знаци от първия с всички знаци от втори, сравнението приключва с false."
а не:
"който и да е знак от първия стринг да съвпадне с който и да е знак от втория"
За да съм по-ясен, давам пример: първи стринг "123", втори стринг "179" - веднага виждаме, че 1 от първия стринг съвпада с 1 от втория и функцията/сравнението приключва с true. Ако вторият стринг беше "456", функцията/сравнението ще даде false, след като е сравнило един по един първи, втори и трети знак от първия стринг с първи, втори и трети знак от втория.
Такава е задачката, сега тъкмо сядам да действам по Вълчовата метода, пък ако някой даде по-просто (т.е. по-гениално) решение, ще го черпя една благодарност. И пак ти благодаря за интереса.
"Трябва да сравня два стринга всеки с дължина между 1 и 12 знака, сравнението трябва да е знак по знак като щом който и да е знак от първия стринг съвпадне с който и да е знак от втория, сравнението приключва с true, а ако никой не съвпадне и се сравнят всички знаци от първия с всички знаци от втори, сравнението приключва с false."
а не:
"който и да е знак от първия стринг да съвпадне с който и да е знак от втория"
За да съм по-ясен, давам пример: първи стринг "123", втори стринг "179" - веднага виждаме, че 1 от първия стринг съвпада с 1 от втория и функцията/сравнението приключва с true. Ако вторият стринг беше "456", функцията/сравнението ще даде false, след като е сравнило един по един първи, втори и трети знак от първия стринг с първи, втори и трети знак от втория.
Такава е задачката, сега тъкмо сядам да действам по Вълчовата метода, пък ако някой даде по-просто (т.е. по-гениално) решение, ще го черпя една благодарност. И пак ти благодаря за интереса.
Re: последно?
Не врат, а шия
Помислих, че Вълчо почна да си задава сам въпроси и да им отговаря

В тоя вълчи студ - или виеш или лудваш
*** *** ***

Помислих, че Вълчо почна да си задава сам въпроси и да им отговаря
В тоя вълчи студ - или виеш или лудваш
*** *** ***