Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie tablicy w tablicy
Forum PHP.pl > Forum > PHP
warder
Cześć! Mam dwie tablice, jedna pobierana jest z bazy danych, druga przesyłana z formularza:

Tablica1:
Kod
Array
(
    [0] => Array
        (
            [slowo] => dane1
            [id] => 7
        )

    [1] => Array
        (
            [slowo] => dane2
            [id] => 8
        )

    [2] => Array
        (
            [slowo] => dane3
            [id] => 9
        )

    [3] => Array
        (
            [slowo] => dane4
            [id] => 22
        )

    [4] => Array
        (
            [slowo] => dane5
            [id] => 23
        )

    [5] => Array
        (
            [slowo] => dane6
            [id] => 24
        )

)


Tablica2:
Kod
Array
(
    [0] => Array
        (
            [slowo] => dane1
            [id] => 7
        )

    [1] => Array
        (
            [slowo] => dane2
            [id] => 8
        )

    [2] => Array
        (
            [slowo] => dane5
            [id] => 23
        )

)



Chcę z tego wypisać listę tak, aby dodać dodatkową klasę "active" dla każdego elementu który się powtarza (czyli jest już aktywny):
  1. <li class="active">dane1</li>
  2. <li class="active">dane2</li>
  3. <li>dane3</li>
  4. <li>dane4</li>
  5. <li class="active">dane5</li>
  6. <li>dane6</li>



Próbowałem już kombinować z unset i array_column, jednak nie mogę sobie poradzić z tym, żeby mieć taki kod wyjściowy jak przedstawiłem poniżej. Byłbym wdzięczny za wszystkie próby nakierowania mnie jak to rozwiązać wink.gif

Pozdrawiam!
KsaR
  1. <?php
  2. $tablica1 = [
  3. [
  4. 'slowo' => 'dane1',
  5. 'id' => 7
  6. ],
  7. [
  8. 'slowo' => 'dane2',
  9. 'id' => 8
  10. ],
  11. [
  12. 'slowo' => 'dane3',
  13. 'id' => 9
  14. ],
  15. [
  16. 'slowo' => 'dane4',
  17. 'id' => 22
  18.  
  19. ],
  20. [
  21. 'slowo' => 'dane5',
  22. 'id' => 23
  23. ],
  24. [
  25. 'slowo' => 'dane6',
  26. 'id' => 24
  27. ]
  28. ];
  29.  
  30. $tablica2 = [
  31. [
  32. 'slowo' => 'dane1',
  33. 'id' => 7
  34. ],
  35. [
  36. 'slowo' => 'dane2',
  37. 'id' => 8
  38. ],
  39. [
  40. 'slowo' => 'dane5',
  41. 'id' => 23
  42. ]
  43. ];
  44.  
  45. $t2word = array_column($tablica2, 'slowo');
  46.  
  47. foreach ($tablica1 as $v) {
  48. echo '<li', (false!==array_search($v['slowo'], $t2word) ? ' class="active"' : ''), ">{$v['slowo']}</li>\r\n";
  49. }

Wklejka: https://eval.in/578491
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.