Spis najważniejszych funkcji PHP

W programowaniu w PHP często korzystamy z różnych funkcji, które ułatwiają pracę z danymi, plikami, bazami danych, czy też sesjami użytkownika. Aby ułatwić Ci pracę z tymi narzędziami, poniżej znajdziesz spis najważniejszych funkcji PHP wraz z krótkimi opisami i przykładami. Ten spis może służyć jako szybka referencja, dzięki której łatwiej odnajdziesz potrzebne funkcje w trakcie pracy nad swoimi projektami.
Możesz przeglądać tematy po kolei przesuwając stronę w dół lub przejść do odpowiedniego działu klikając na temat:
wyświetlanie danych
praca z danymi wejściowymi
praca z tablicami
praca z plikami
praca z bazami danych (MySQL)
praca z JSON
praca z sesjami i ciasteczkami
bezpieczeństwo
nagłówki HTTP i przekierowania
obsługa wyjątków
praca z datą i czasem

Wyświetlanie danych

echo()
Służy do wyświetlania danych (ciągów znaków, zmiennych, itp.) na stronie. Jest jedną z najczęściej używanych funkcji w PHP.

echo "Witaj świecie!";

print_r()
Wyświetla bardziej szczegółową reprezentację zmiennej, najczęściej używaną do debugowania. Przede wszystkim używane do wyświetlania zawartości tablic lub obiektów.

$tablica = array('PHP', 'MySQL', 'HTML');
print_r($tablica);

var_dump()
Pokazuje szczegółową informację o zmiennej, w tym jej typ i wartość. Jest użyteczne przy debugowaniu, gdy chcesz poznać szczegóły dotyczące typu zmiennej i jej zawartości.

$liczba = 5;
var_dump($liczba);

Praca z danymi wejściowymi

isset()
Sprawdza, czy zmienna została ustawiona i nie jest równa null. Używane do sprawdzania, czy zmienne zostały poprawnie zainicjalizowane, np. w formularzach.

if (isset($zmienna)) {
    echo "Zmienna istnieje";
}

empty()
Sprawdza, czy zmienna jest pusta (null, 0, “”, false). Przydatne przy walidacji danych wejściowych, np. czy pole formularza zostało wypełnione.

if (empty($pole)) {
    echo "Pole jest puste";
}

strlen()
Zwraca długość ciągu znaków. Używane do walidacji długości danych, np. hasła lub nazwy użytkownika.

$haslo = "mojehaslo";
echo strlen($haslo);

strpos()
Zwraca pozycję pierwszego wystąpienia ciągu znaków w innym ciągu. Przydatne do wyszukiwania fraz w tekstach.

$tekst = "Witaj świecie!";
$pozycja = strpos($tekst, "świat");
echo $pozycja;  // Wyświetli pozycję frazy "świat"

substr()
Zwraca fragment ciągu znaków, zaczynając od określonej pozycji.

$tekst = "Witaj świecie";
echo substr($tekst, 6);  // Zwróci "świecie"

str_replace()
Zastępuje wszystkie wystąpienia określonego ciągu w innym ciągu.

$tekst = "Hello world!";
echo str_replace("world", "PHP", $tekst);  // Zwróci "Hello PHP!"

strtolower()
Konwertuje wszystkie znaki w ciągu na małe litery.

$tekst = "PHP IS GREAT";
echo strtolower($tekst);  // Zwróci "php is great"

strtoupper()
Konwertuje wszystkie znaki w ciągu na wielkie litery.

$tekst = "php is great";
echo strtoupper($tekst);  // Zwróci "PHP IS GREAT"

Praca z tablicami

array_push()
Dodaje jeden lub więcej elementów na koniec tablicy. Używane, gdy chcemy dynamicznie dodawać dane do tablicy.

$tablica = array('PHP', 'HTML');
array_push($tablica, 'CSS', 'JavaScript');

array_merge()
Łączy dwie lub więcej tablic w jedną. Przydatne, gdy chcesz połączyć dane z kilku źródeł w jedną strukturę.

$tablica1 = array('PHP', 'HTML');
$tablica2 = array('CSS', 'JavaScript');
$polaczona = array_merge($tablica1, $tablica2);

explode()
Dzieli ciąg znaków na tablicę, używając określonego separatora. Używane np. do przekształcania danych tekstowych, takich jak ciągi znaków, na struktury tablicowe.

$tekst = "PHP,HTML,CSS";
$tablica = explode(",", $tekst);

implode()
Łączy elementy tablicy w jeden ciąg znaków, używając określonego separatora. Przydatne, gdy chcesz wyświetlić elementy tablicy jako ciąg tekstu.

$tablica = array('PHP', 'HTML', 'CSS');
$tekst = implode(", ", $tablica);

array_pop()
Usuwa ostatni element tablicy i go zwraca.

$tablica = array('PHP', 'HTML', 'CSS');
$ostatni = array_pop($tablica);  // Zwróci "CSS"

array_shift()
Usuwa pierwszy element tablicy i go zwraca.

$tablica = array('PHP', 'HTML', 'CSS');
$pierwszy = array_shift($tablica);  // Zwróci "PHP"

in_array()
Sprawdza, czy dany element znajduje się w tablicy.

$tablica = array('PHP', 'HTML', 'CSS');
echo in_array('PHP', $tablica) ? 'Znaleziono' : 'Nie znaleziono';

Praca z plikami

file_get_contents()
Odczytuje zawartość pliku i zapisuje ją w zmiennej. Używane do pobierania danych z plików tekstowych lub zewnętrznych źródeł (np. API).

$zawartosc = file_get_contents('plik.txt');
echo $zawartosc;

file_put_contents()
Zapisuje dane do pliku. Jeśli plik nie istnieje, zostanie utworzony. Używane do zapisywania danych, np. logów lub wyników przetwarzania.

file_put_contents('plik.txt', 'Nowa zawartość pliku');

fopen() i fclose()
Otwiera plik do odczytu lub zapisu. Używane, gdy chcesz pracować z plikami w sposób bardziej zaawansowany, np. otwierając je w trybie binarnym lub dopisując do istniejącej zawartości.

$plik = fopen("plik.txt", "r");
while (!feof($plik)) {
    echo fgets($plik) . "<br>";
}
fclose($plik);

fwrite()
Zapisuje dane do pliku.

$plik = fopen("plik.txt", "w");
fwrite($plik, "To jest nowa zawartość pliku.");
fclose($plik);

fread()
Odczytuje zawartość pliku do podanej liczby bajtów.

$plik = fopen("plik.txt", "r");
$zawartosc = fread($plik, filesize("plik.txt"));
fclose($plik);
echo $zawartosc;

unlink()
Usuwa plik.

unlink("plik.txt");  // Usunie plik "plik.txt"

Praca z bazami danych (MySQL)

mysqli_connect()
Umożliwia połączenie z bazą danych MySQL. Jest to funkcja używana do nawiązania połączenia, które później będzie wykorzystywane do wykonywania zapytań.

$conn = mysqli_connect("localhost", "root", "", "moja_baza");

mysqli_query()
Wykonuje zapytanie SQL na połączonej bazie danych. Używane do operacji takich jak wstawianie, aktualizowanie, usuwanie oraz pobieranie danych.

$zapytanie = "SELECT * FROM users";
$wynik = mysqli_query($conn, $zapytanie);

mysqli_fetch_assoc()
Pobiera wiersz wyników zapytania SQL jako tablicę asocjacyjną. Używane przy pracy z wynikami SELECT.

while ($wiersz = mysqli_fetch_assoc($wynik)) {
    echo "Użytkownik: " . $wiersz['nazwa'] . "<br>";
}

mysqli_real_escape_string()
Sanityzuje dane przed użyciem ich w zapytaniu SQL, co zapobiega atakom typu SQL Injection. Powinno być stosowane do przetwarzania danych wejściowych przed wstawieniem ich do bazy danych.

$nazwa = mysqli_real_escape_string($conn, $_POST['nazwa']);
$zapytanie = "INSERT INTO users (nazwa) VALUES ('$nazwa')";
mysqli_query($conn, $zapytanie);

Praca z JSON

json_encode()
Konwertuje tablicę lub obiekt PHP do formatu JSON. Bardzo użyteczne, gdy chcesz przesłać dane do API lub zapisać je w formacie JSON.

$tablica = array("imie" => "Jan", "nazwisko" => "Kowalski");
$json = json_encode($tablica);
echo $json;

json_decode()
Konwertuje ciąg JSON na tablicę lub obiekt PHP. Używane do przetwarzania danych JSON z API lub zewnętrznych źródeł.

$json = '{"imie":"Jan","nazwisko":"Kowalski"}';
$tablica = json_decode($json, true);
echo $tablica['imie'];

Praca z sesjami i ciasteczkami

session_start()
Inicjuje sesję na serwerze, która umożliwia przechowywanie danych o użytkowniku pomiędzy różnymi stronami. Używane np. do obsługi logowania i zarządzania stanem użytkownika.

session_start();
$_SESSION['uzytkownik'] = 'Jan Kowalski';

session_destroy()
Kończy sesję i usuwa wszystkie zmienne sesji. Przydatne do wylogowania użytkownika.

session_start();
session_destroy();

setcookie()
Ustawia ciasteczko (cookie) w przeglądarce użytkownika. Używane do przechowywania danych po stronie klienta przez dłuższy czas.

setcookie("nazwa_ciasteczka", "wartosc", time() + 3600);  // Ciasteczko ważne przez 1 godzinę

$_SESSION i $_COOKIE
Superglobalne tablice PHP do przechowywania danych o sesjach i ciasteczkach. Używane do zarządzania stanem użytkownika na serwerze i po stronie klienta.

// Przykład pracy z sesją
$_SESSION['login'] = 'Jan';
echo $_SESSION['login'];

// Przykład pracy z ciasteczkami
echo $_COOKIE['nazwa_ciasteczka'];

Bezpieczeństwo

password_hash()
Służy do bezpiecznego szyfrowania haseł, używając algorytmu bcrypt. Jest to rekomendowana metoda przechowywania haseł użytkowników.

$haslo = password_hash("mojehaslo", PASSWORD_DEFAULT);

password_verify()
Sprawdza, czy podane hasło odpowiada zaszyfrowanemu hasłu w bazie danych. Używane do weryfikacji hasła podczas logowania.

if (password_verify("mojehaslo", $haslo)) {
    echo "Hasło poprawne";
} else {
    echo "Błędne hasło";
}

htmlspecialchars()
Konwertuje specjalne znaki HTML na ich encje, co zapobiega atakom typu XSS (cross-site scripting). Używane do oczyszczania danych wyjściowych, takich jak dane wejściowe użytkownika, które są wyświetlane na stronie.

$tekst = "<h1>Niebezpieczny kod</h1>";
echo htmlspecialchars($tekst);  // Wyświetli "<h1>Niebezpieczny kod</h1>" bez jego wykonania

strip_tags()
Usuwa wszystkie tagi HTML i PHP z ciągu znaków. Przydatne do usuwania niebezpiecznych lub niechcianych znaczników HTML z danych wejściowych użytkownika.

$tekst = "<h1>Niebezpieczny kod</h1>";
echo strip_tags($tekst);  // Wyświetli "Niebezpieczny kod"

md5()
Oblicza skrót MD5 dla podanego ciągu. Używane do hashowania danych, ale niezalecane do przechowywania haseł (lepiej używać password_hash()).

echo md5("mojehaslo");  // Zwróci skrót MD5 dla "mojehaslo"

hash()
Tworzy hash dla danych przy użyciu określonego algorytmu (np. SHA-256). Bardziej bezpieczne niż md5().

echo hash('sha256', 'mojehaslo');  // Zwróci skrót SHA-256 dla "mojehaslo"

Nagłówki HTTP i przekierowania

header()
Umożliwia wysyłanie nagłówków HTTP do przeglądarki, np. przekierowanie na inną stronę lub ustawienie typu zawartości.

header("Location: strona.php");  // Przekierowanie na inną stronę
header("Content-Type: application/json");  // Ustawienie typu zawartości jako JSON

http_response_code()
Ustawia kod odpowiedzi HTTP, np. 404 dla nieznalezionej strony, 200 dla sukcesu, itd.

http_response_code(404);
echo "Strona nie znaleziona";

Obsługa wyjątków

try-catch
Blok try-catch służy do obsługi wyjątków w PHP. Umożliwia przechwytywanie błędów i wykonywanie alternatywnej akcji w przypadku wystąpienia wyjątku.

try {
    // Kod, który może wygenerować wyjątek
    if (!$plik = fopen("nieistnieje.txt", "r")) {
        throw new Exception("Nie można otworzyć pliku");
    }
} catch (Exception $e) {
    // Obsługa wyjątku
    echo "Błąd: " . $e->getMessage();
}

throw
Używane do ręcznego rzucania wyjątków. Możesz wygenerować wyjątek w dowolnym momencie, gdy wykryjesz błąd w aplikacji.

throw new Exception("Wystąpił błąd");

error_log()
Zapisuje komunikat o błędzie do pliku logów lub innego miejsca. Używane do debugowania i przechwytywania błędów.

error_log("Wystąpił błąd", 3, "/logs/error_log.txt");

trigger_error()
Rzuca ręczny błąd PHP. Używane do testowania lub zgłaszania specyficznych błędów w aplikacji.

trigger_error("Wystąpił krytyczny błąd", E_USER_ERROR);

Praca z datą i czasem

date()
Zwraca aktualną datę lub godzinę w podanym formacie. Używane do generowania dynamicznych znaczników czasu.

echo date("Y-m-d H:i:s");  // Wyświetli aktualną datę i czas w formacie RRRR-MM-DD GG:MM:SS

time()
Zwraca aktualny czas jako liczbę sekund od 1 stycznia 1970 roku (znaną jako UNIX timestamp). Używane do pracy z czasem w formacie numerycznym.

$timestamp = time();
echo "Aktualny czas w sekundach: " . $timestamp;

strtotime()
Konwertuje podaną datę w formacie tekstowym na znacznik czasu UNIX. Używane do przekształcania dat w różnym formacie na bardziej zrozumiałą formę dla PHP.

$czas = strtotime("tomorrow");
echo date("Y-m-d", $czas);  // Wyświetli jutrzejszą datę

mktime()
Tworzy znacznik czasu UNIX dla podanej daty i godziny.

$timestamp = mktime(12, 0, 0, 1, 1, 2023);  // Zwróci znacznik czasu dla 1 stycznia 2023, 12:00

date_create()
Tworzy nowy obiekt daty. Używane do bardziej zaawansowanych operacji na dacie.

$data = date_create("2023-01-01");
echo date_format($data, "Y-m-d");


Spis Treści - darmowy kurs PHP

Wprowadzenie: Instalacja środowiska PHP
Lekcja 1: Podstawy składni PHP
Lekcja 2: Funkcje i instrukcje warunkowe w PHP
Lekcja 3: Pętle w PHP
Lekcja 4: Tablice w PHP
Lekcja 5: Dodatkowe podstawy funkcji w PHP
Lekcja 6: Praca z formularzami HTML w PHP
Lekcja 7: Obsługa plików w PHP
Lekcja 8: Sesje i ciasteczka w PHP
Lekcja 9: Podstawy operacji na bazach danych MySQL z PHP
Lekcja 10: Prepared Statements w PHP i bezpieczeństwo aplikacji
Lekcja 11: Zarządzanie użytkownikami – rejestracja, logowanie i autoryzacja w PHP
Lekcja 12: Wzorce projektowe w PHP – wprowadzenie do wzorca MVC
Lekcja 13: Zaawansowane techniki pracy z bazami danych w PHP
Lekcja 14: Testowanie jednostkowe w PHP z PHPUnit
Lekcja 15: Tworzenie i korzystanie z API RESTful w PHP
Lekcja 16: Obsługa plików JSON i XML w PHP

Dodatki
- Spis najważniejszych funkcji PHP