![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 11.12.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, mam pewien problemik i ukłony w stronę osób, które się na tym znają.
Osiągnęłam swój cel, ale zajęło mi to około 350 linijek. Wiem, że da się to rozwiązać w lżejszy sposób. Założenia: Skrypt ma sprawdzić zmienną czy jest poprawna pod względem wielkości liter $zmienna1="JakiSteKsT"; $zmienna2="jakiSteKsT"; Jeżeli nie jest to wykonuje jakąś operacje
Ma ktoś jakiś pomysł ? Ten post edytował Agusia 11.12.2015, 11:42:08 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Chyba nie ogarniam...
a czemu poprostu nie zrobisz: if ($zmienna1 != $zmienna2) echo 'Sie roznia'; |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Możesz napisać jakie są założenia tego skryptu? Podaj jakieś przykłady danych wejściowych i wyjściowych.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 11.12.2015 Ostrzeżenie: (0%) ![]() ![]() |
skrypt sprawdza dwie zmienne takie same lecz różniące się małymi i wielkimi literami.
no i jeżeli obydwie są takie same (małe i duże litery się zgadzają) to nie robi nic jeżeli jest różnica wielkości znaków to zmienna przyjmuje wartość ustaloną generalnie to działa tylko jest chyba zbyt duże. Czy skrypt w 1 poście jest tym samym co ?
Ten post edytował Agusia 11.12.2015, 12:04:36 |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to juz ci podalem rozwiazanie... jedna linia zamiast tego calego Twojego metliku
edit: tak, to jest to samo |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Cytat jeżeli obydwie są takie same (małe i duże litery się zgadzają) to nie robi nic Musisz skorzystać z wbudowanej funkcji strcasecmp, gdyż operatory nie patrzą na wielkość.
Ten post edytował KsaR 11.12.2015, 12:14:52 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Chcesz porównać tylko te ~26 znaków (A-Z) czy ogólnie chcesz porównać wszystkie znaki?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 16.10.2015 Ostrzeżenie: (10%) ![]() ![]() |
Agusi chodziło o coś takiego:
Ten post edytował Regz 11.12.2015, 12:19:42 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 11.12.2015 Ostrzeżenie: (0%) ![]() ![]() |
@Regz nie zależało mi na Lowerowaniu
--- Jakiś czas temu założyłam serwis zawierający gify i obrazki animowane i niedawno GoogleWebmasterTools wykrył u mnie zduplikowane strony. Założyłam sobie że urle będą wyglądały w ten sposób Kod http://animowane-gify.pl/pobierz_SpieszmysieKochacludzitakszybkoodchodza_714 Problem w tym że jeżeli ktoś gdzieś umieścił odnośnik z małymi literami w linku to google traktował to jako 2 identyczne strony z tym samym contentem = duplicate content. No i pisząc skrypt i później pytając się Was chciałam przekierować URL do poprawnej wersji z dużymi literami. Błędne adresy URL naprawione poniższym przykładem. Może jeszcze komuś się przyda.
naprawdę dziękuję za pomoc. I życzę wszystkim miłego dnia. Ten post edytował Agusia 11.12.2015, 12:49:30 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Musisz skorzystać z wbudowanej funkcji strcasecmp, gdyż operatory nie patrzą na wielkość. Ekhm.... Zanim napiszesz to sprawdź (IMG:style_emoticons/default/wink.gif) Kod php -r "var_dump('ala' === 'Ala');" bool(false) php -r "var_dump('ala' === 'ala');" bool(true) PHP 5.6.11 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
Ekhm.... Zanim napiszesz to sprawdź (IMG:style_emoticons/default/wink.gif) Kod php -r "var_dump('ala' === 'Ala');" bool(false) php -r "var_dump('ala' === 'ala');" bool(true) PHP 5.6.11 Masz racje, bo uzyles operatora === ktory sprawdza takze typ.. http://stackoverflow.com/questions/3333353...using-vs-strcmp Co do cytatu to gdzies musieli zle napisac ale nie moge odszukac gdzie, z glowy bym tego nie wymyslil. A moze jakies glebsze testy by trzeba np. Z emoji, ruskimi znakami itd. Ale pewnosci juz nie mam (IMG:style_emoticons/default/tongue.gif) A tak napisalem przy okazji bo nad moim postem byl operator == zamiast === tak czy inaczej (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Masz racje, bo uzyles operatora === ktory sprawdza takze typ.. Przecież w obu przypdkach typ jest ten sam - string. Poza tym, u mnie z 2 = też działa: vagrant@debian-jessie:~$ php -r "var_dump('ala' == 'Ala');" Command line code:1: bool(false) vagrant@debian-jessie~$ php -r "var_dump('ala' == 'ala');" Command line code:1: bool(true) Ten post edytował kapslokk 11.12.2015, 13:19:05 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) ![]() ![]() |
kapslokk a sprawdziles link ktory dalem?
Tam bylo tez cos takiego (odpal to)
(IMG:style_emoticons/default/cool.gif) , jest string? - jest. Tak więc operatory jak widać też coś robią :-P EDIT. Jak dodalem jeszcze do testu var_dump(0 === strcasecmp('0XAB', '0xab')); To wygrywa samo ===, (IMG:style_emoticons/default/biggrin.gif) ale gdzies na jakims blogu tak czy inaczej tak widzialem, nie pamietam jakie stringi byly porownywane (IMG:style_emoticons/default/tongue.gif) P Edit 2. http://stackoverflow.com/questions/3506706...ring-comparison Tu jest tez ze Cytat == is case sensitive. You can use strcasecmp for case insensitive comparison .... Ten post edytował KsaR 11.12.2015, 13:44:38 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 13:17 |