Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Operator 'lub' w funkcji IF, Jak poprawnie dodać operator 'OR'?
encoresin
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 6.05.2017

Ostrzeżenie: (0%)
-----


Witam,

Posiadam funkcję jeżeli... Wygląda następująco:

  1. if (strpos($item['option_79'],'Osobowe') !== false)
  2. echo ("Tabelka 1");


No i funkcja leci sobie dalej dla różnych kategorii. Wszystko działa jak powinno, ale tylko wtedy gdy mam 'osobowe'. Na stronie mam możliwość zmiany języka, a jemu odpowiada osobna kolumna i wtedy nie ma już 'osobowych' lecz 'car'. Wiem, że 'LUB' zapisuje się w postaci || (próbowałem też | (operacji bitowych)).
Starałem się to zapisać w różny sposób... Na koniec nawet leciałem już kopiując całość z początku i wklejając za znakiem LUB. Później tylko odcinałem kawałek po kawałku, ale nic mi nie działa.

Jak więc zmienić tę funkcję by tabelka 1 pojawiała się przy odczytaniu słowa 'osobowe' LUB 'car'?
Wiem, że mogę osobno zapisać osobowe i car dodając je do kolejnego wiersza jako 'else if', ale chcę mieć je na razie razem.

Dziękuje i pozdrawiam,
Przemo
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trzczy
post
Post #2





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

Ostrzeżenie: (0%)
-----


Wariacje na temat dla poszerzenia horyzontów (IMG:style_emoticons/default/wink.gif)
  1. echo preg_match('/[Oo]sobowe|car/', 'samochody Osxobowe cennik');//0
vs.
  1. echo preg_match('/[Oo]sobowe|car/', 'samochody Osobowe cennik');//1


Tu w patternie użyto tzw. alternatywy. To ta kreseczka "pipe".
Go to the top of the page
+Quote Post
encoresin
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 6.05.2017

Ostrzeżenie: (0%)
-----


Cytat(trzczy @ 28.03.2018, 21:03:01 ) *
Wariacje na temat dla poszerzenia horyzontów (IMG:style_emoticons/default/wink.gif)
  1. echo preg_match('/[Oo]sobowe|car/', 'samochody Osxobowe cennik');//0
vs.
  1. echo preg_match('/[Oo]sobowe|car/', 'samochody Osobowe cennik');//1


Tu w patternie użyto tzw. alternatywy. To ta kreseczka "pipe".


Witam, dziś jednak znalazłem dopiero czas...

Wpisanie tego kodu daje mi wszędzie wynik 0.Nie wiem jak spreparować go do działania z $item['option_79'].

Strona mi się wysypała bo miałem swój kod wklejony ze starych prób, a tam nie zgadzała się jedna rzecz... Cały kod wygląda następująco i działa okej:

  1.  
  2. <?php
  3.  
  4. if (strpos($item['option_79'], 'Osobowe') !== false)
  5. echo ("Tabelka aut");
  6. else if (strpos($item['option_79'], 'Motocykle') !== false)
  7. echo "Tabelka motocykli";
  8. else if (strpos($item['option_79'], 'Dostawcze') !== false)
  9. echo "Tabelka dostawczakow";
  10. else
  11. echo "Tabelka czesci";
  12.  
  13. ?>
  14. <!-- TESTY TABELEK!! -->
  15.  


I zamiast pisać

  1. if (strpos($item['option_79'], 'Osobowe') !== false)
  2. echo ("Tabelka aut");
  3. else if (strpos($item['option_79'], 'Car') !== false)
  4. echo "Tabelka aut";


Chcę to mieć w jednym zapisie. Na pewno da się to zapisać w pojedynczej linii?!

Pobawię się teraz kodami podanymi tutaj. Zobaczę czy uda mi się zastosować w jakiś sposób to:

Cytat(trzczy @ 29.03.2018, 17:03:44 ) *
Jesteś na etapie nauki podstaw podstaw. Idzie ci ciężko. Ale czasem to procentuje w przyszłości bardzo dużym przyśpieszeniem. Zacznij radzę od czegoś takiego:

  1. $a = true;
  2. $b = false;
  3. if ($a or $b) {echo 'ok';} else {echo 'ko';}


Potem dokonaj małej podmiany przy przypisaniu zmiennej $a:

  1. $a = (57 === 57);
  2. $b = false;
  3. if ($a or $b) {echo 'ok';} else {echo 'ko';}

Potem dalej rozbudowuj kod:

  1. $a = strpos('abcd', 'bc');
  2. $b = false;
  3. if ($a or $b) {echo 'ok';} else {echo 'ko';}


Potem dalej rozbudowuj kod(2):

  1. $subject = 'abcd';
  2. $a = strpos($subject, 'bc');
  3. $b = false;
  4. if ($a or $b) {echo 'ok';} else {echo 'ko';}


Potem dalej rozbudowuj kod(3):

  1. $array = ['subj5'=>'abcd', 'subj6'=>'abycd', 'subj7'=>'abxcd'];
  2. $a = strpos($array['subj5'], 'bc');
  3. $b = false;
  4. if ($a or $b) {echo 'ok';} else {echo 'ko';}


Ostatecznie do ifa możesz powrzucać te złożone wyrażenia zamiast $a i $b.



Ten post edytował encoresin 2.04.2018, 12:56:41
Go to the top of the page
+Quote Post

Posty w temacie
- encoresin   [PHP] Operator 'lub' w funkcji IF   28.03.2018, 13:47:16
- - kapslokk   Pokaż jak próbowałeś to sklecić   28.03.2018, 13:55:41
- - encoresin   [PHP] pobierz, plaintext if (strpos($it...   28.03.2018, 14:06:05
- - kapslokk   [PHP] pobierz, plaintext if (strpos($item...   28.03.2018, 14:09:58
- - Pyton_000   Jeśli kolumna zawiera tylko takie wyrazy (nie są c...   28.03.2018, 14:16:24
- - encoresin   Cytat(kapslokk @ 28.03.2018, 15:09:58...   28.03.2018, 19:27:16
- - trzczy   Wariacje na temat dla poszerzenia horyzontów [PHP...   28.03.2018, 20:03:01
|- - encoresin   Cytat(trzczy @ 28.03.2018, 21:03:01 )...   2.04.2018, 12:32:39
- - encoresin   Dobra, dalej nie ogarniam. Chciałem dodać to co na...   29.03.2018, 14:18:04
- - nospor   To moze pokaz co teraz napisales bo szklane kule w...   29.03.2018, 14:28:27
- - encoresin   Wróciłem do punktu wejścia... Czyli to co miałem w...   29.03.2018, 14:34:58
- - trzczy   Jesteś na etapie nauki podstaw podstaw. Idzie ci c...   29.03.2018, 16:03:44
- - Pyton_000   Nie ucz początkujących pisać `or` jako alt...   29.03.2018, 16:10:59
|- - trzczy   Zgadza się, to dosyć istotny niuans.   29.03.2018, 16:30:43
- - wxm   [PHP] pobierz, plaintext if ((strpos($...   2.04.2018, 12:50:52
|- - encoresin   Cytat(wxm @ 2.04.2018, 13:50:52 ) [PH...   2.04.2018, 13:04:23
- - wxm   Przecież to zwykła instrukcja [PHP] pobierz, plain...   2.04.2018, 13:12:19
|- - encoresin   Cytat(wxm @ 2.04.2018, 14:12:19 ) Prz...   2.04.2018, 15:11:03
- - wxm   W tym przypadku nawiasy są tylko dla lepszego zobr...   2.04.2018, 16:20:55
- - encoresin   Cytat(wxm @ 2.04.2018, 17:20:55 ) W t...   2.04.2018, 17:52:06


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 08:38