Rzutowanie zmiennych w PHP – kompletny przewodnik (z przykładami)
Rzutowanie (ang. type casting) w PHP to proces ręcznej zmiany typu zmiennej. PHP jest językiem dynamicznie typowanym, co oznacza, że typy zmiennych są często zmieniane automatycznie. Jednak w praktyce to właśnie ręczne rzutowanie daje kontrolę, stabilność i przewidywalność kodu.

🔹 1. Czym jest rzutowanie?
Rzutowanie to jawna zmiana typu danych.
Przykład:

$value = "123";
$int = (int) $value;


👉 wynik: 123 jako integer, nie string

🔹 2. Podstawowe typy rzutowania
PHP wspiera kilka głównych typów:
Rzutowanie
Typ
(int) / (integer)
liczba całkowita
(float) / (double)
liczba zmiennoprzecinkowa
(string)
tekst
(bool)
wartość logiczna
(array)
tablica
(object)
obiekt

🔹 3. Rzutowanie na int
Przykład:

$a = "10";
$b = (int) $a;


Wynik:

10


📌 Zasady:

(int) "10abc" // 10
(int) "abc10" // 0
(int) true // 1
(int) false // 0


👉 PHP bierze liczby od początku stringa

🔹 4. Rzutowanie na float

$value = "10.75";
$float = (float) $value;


Wynik:

10.75


🔹 5. Rzutowanie na string

$value = 123;
$str = (string) $value;


Wynik:

"123"


📌 ciekawostka:

(string) true // "1"
(string) false // ""



🔹 6. Rzutowanie na boolean

(bool) 0 // false
(bool) 1 // true
(bool) "" // false
(bool) "0" // false
(bool) "abc" // true



🔥 7. RZUTOWANIE TABLIC (ważne!)
➤ string → array

$data = "php,java,go";
$arr = (array) $data;


Wynik:

["php,java,go"]

👉 UWAGA: to NIE split!

✔ poprawne rozbicie stringa:

$data = "php,java,go";
$arr = explode(",", $data);


Wynik:

["php", "java", "go"]


🔥 8. Tablica → string

$arr = ["php", "java", "go"];
$str = implode(",", $arr);


Wynik:

"php,java,go"


🔥 9. Rzutowanie tablic asocjacyjnych

$data = (array) "test";

Wynik:

[0 => "test"]


🔥 10. object → array

$obj = (object) [
"name" => "John",
"age" => 30
];

$arr = (array) $obj;


Wynik:

[
"name" => "John",
"age" => 30
]



🔥 11. array → object

$arr = [
"name" => "John",
"age" => 30
];

$obj = (object) $arr;


Wynik:

$obj->name; // John
$obj->age; // 30



⚠️ 12. Najczęstsze błędy
❌ 1. Mylenie (array) z explode()

(string) "a,b,c" → (array) = NIE działa jak split


❌ 2. brak kontroli typu API

$val = $response['data'];

👉 może być null / string / array

❌ 3. brak castowania w JSON API

$price = $data['price'];

lepiej:

$price = (float) ($data['price'] ?? 0);


🔥 13. RZUTOWANIE W PRAKTYCE (REAL WORLD)
API scraping:

$salary = (int) ($job['salary'] ?? 0);
$title = (string) ($job['title'] ?? '');



DB safety:

$id = (int) $request->input('id');


Boolean logic:

$isActive = (bool) $user['active'];


🔥 14. PHP + TABLICE (ważny mindset)
W PHP:
tablice są “luźne” → trzeba je normalizować

przykład problemu:

$input = "php,java,go";

❌ błędnie:

(array) $input

✔ dobrze:

explode(",", $input)


🧠 15. BEST PRACTICE (pro tip)
Zawsze:

$value = (type) ($source ?? default);


przykład:

$page = (int) ($request['page'] ?? 1);
$limit = (int) ($request['limit'] ?? 20);



🚀 PODSUMOWANIE
Rzutowanie w PHP:
✔ daje kontrolę nad danymi
✔ chroni przed bugami API
✔ stabilizuje scraping
✔ zapobiega “losowym typom”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *