Wyszukiwanie klucza w tablicy (array_key_exists)

Założenie: Nauczymy się sprawdzać, czy dany klucz istnieje w tablicy PHP za pomocą funkcji array_key_exists(). To przydatne, gdy chcemy sprawdzić, czy użytkownik ma dostęp do konkretnej akcji, opartej na kluczu w tablicy uprawnień.

Krok po kroku:

  1. Tworzymy tablicę asocjacyjną reprezentującą uprawnienia użytkownika:
    
    $uprawnienia = array(
        "edytuj_profil" => true,
        "dodaj_artykul" => false,
        "usun_artykul" => true
    );
    				

    Tablica $uprawnienia przechowuje informacje o uprawnieniach użytkownika. Klucze to nazwy akcji, a wartości (true/false) oznaczają, czy użytkownik ma do nich dostęp.

  2. Sprawdzamy, czy użytkownik ma uprawnienia do edycji profilu za pomocą funkcji array_key_exists():
    
    $ma_uprawnienia_edycji = array_key_exists("edytuj_profil", $uprawnienia);
    
    if ($ma_uprawnienia_edycji) {
        echo "Użytkownik ma uprawnienia do edycji profilu.";
    } else {
        echo "Użytkownik NIE ma uprawnień do edycji profilu.";
    }
    				

    Funkcja array_key_exists() zwraca true, jeśli klucz istnieje w tablicy, i false w przeciwnym wypadku. Wynik jest przypisywany do zmiennej $ma_uprawnienia_edycji i wykorzystywany w instrukcji warunkowej.

  3. Sprawdzamy uprawnienia do dodawania artykułu:
    
    $ma_uprawnienia_dodawania = array_key_exists("dodaj_artykul", $uprawnienia);
    
    if ($ma_uprawnienia_dodawania) {
        echo "Użytkownik ma uprawnienia do dodawania artykułu.";
    } else {
        echo "Użytkownik NIE ma uprawnień do dodawania artykułu.";
    }
    				

    Analogicznie jak w kroku 2, sprawdzamy istnienie klucza “dodaj_artykul”.

Ten przykład pokazuje podstawowe zastosowanie funkcji array_key_exists(). Zachęcamy do eksperymentowania z różnymi tablicami i kluczami, aby lepiej zrozumieć jej działanie. Możesz również spróbować użyć tej funkcji w bardziej złożonych aplikacjach, np. do kontroli dostępu do różnych zasobów.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *