Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Uproszczenie IFa
AdamT
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 22.01.2004
Skąd: LDZ

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


Witajcie,

dawno mnie nie było.. i dawno nic nie pisałem (IMG:style_emoticons/default/tongue.gif) Prośba o podpowiedź jak można uprościć taką instrukcję:

  1. echo "UID: ";
  2.  
  3. if (strpos($row[0], $uid) !== FALSE){
  4. echo " wystepuje w kluczu 1, ";
  5. if (strpos($row[1], $uid) !== FALSE){
  6. echo " wystepuje w kluczu 2, ";
  7. if (strpos($row[2], $uid) !== FALSE){
  8. echo " wystepuje w kluczu 3, ";
  9. if (strpos($row[3], $uid) !== FALSE){
  10. echo " wystepuje w kluczu 4, ";
  11. if (strpos($row[4], $uid) !== FALSE){
  12. echo " wystepuje w kluczu 5, ";
  13. if (strpos($row[5], $uid) !== FALSE){
  14. echo " wystepuje w kluczu 6, ";
  15. if (strpos($row[6], $uid) !== FALSE){
  16. echo " wystepuje w kluczu 7, ";
  17. if (strpos($row[7], $uid) !== FALSE){
  18. echo " wystepuje w kluczu 8, ";
  19. if (strpos($row[8], $uid) !== FALSE){
  20. echo " wystepuje w kluczu 9, ";
  21. if (strpos($row[9], $uid) !== FALSE){
  22. echo "wystepuje w kluczu 10, ";
  23. } else { echo " nie wystepuje w kluczu 10 !"; }
  24. } else { echo " nie wystepuje w kluczu 9, "; }
  25. } else { echo " nie wystepuje w kluczu 8, "; }
  26. } else { echo " nie wystepuje w kluczu 7, "; }
  27. } else { echo " nie wystepuje w kluczu 6, "; }
  28. } else { echo " nie wystepuje w kluczu 5, "; }
  29. } else { echo " nie wystepuje w kluczu 4, "; }
  30. } else { echo " nie wystepuje w kluczu 3, "; }
  31. } else { echo " nie wystepuje w kluczu 2, "; }
  32. } else { echo " nie wystepuje w kluczu 1, "; }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
AdamT
post
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 22.01.2004
Skąd: LDZ

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


Chyba coś nie do końca mi te foreach działa :/

To wprowadzam do formularza:
key: {data1: [u'1234'], data2: [u'1234'], data3: [u'1234'], data4: [u'2345', u'3456', u'4567', u'9632', u'4568', u'9876', u'7892', u'8523'],
data5: [u'1234']}
uid: 1234

Kod:
  1. <?php
  2. // Pobieramy dane z formularza
  3. $key = $_POST['key'];
  4. $uid = $_POST['uid'];
  5.  
  6. // Tworzymy tabelę kluczy, za pomocą wzorca
  7. preg_match_all("/\[u\'+.+\'\]/U", $key, $result);
  8.  
  9. // Wyświetlamy wyniki
  10. $display = print_r($result, TRUE);;
  11. $display = str_replace(" ", "&nbsp;", $display);
  12. $display = nl2br($display);
  13. echo($display);
  14.  
  15. // Dotąd jest OK
  16. // Teraz musimy przeszukać powstała tabelę pod kątem występowania ID
  17. foreach ($result as $row){
  18.  
  19. echo $uid;
  20.  
  21. $arr = array_fill(0,count($row), $uid);
  22.  
  23. foreach( array_intersect( $row, $arr) as $index=>$value){
  24. echo " wystepuje w kluczu ".($index+1);
  25. }
  26. foreach( array_diff_assoc( $arr, $row) as $index=>$value){
  27. echo " nie wystepuje w kluczu ".($index+1)."!";
  28. }
  29. }
  30. ?>


Zwraca: 1234 nie wystepuje w kluczu 1! nie wystepuje w kluczu 2! nie wystepuje w kluczu 3! nie wystepuje w kluczu 4! nie wystepuje w kluczu 5! (IMG:style_emoticons/default/sad.gif)

Dalej będzie jeszcze instrukcja warunkowa, że jak występuje uid we wszystkich kluczach to OK... ale to już chyba dam radę(IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 07:35