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