![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 12 Dołączył: 15.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam jedno małe pytanie. Czy jest jakaś różnica między wartościami zmiennych NULL a "" (pusta zmienna).
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 44 Dołączył: 31.07.2011 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
jest: var_dump(null==='');
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. NULL może być generalnie postrzegany jako specjalny typ (taki jak integer, double czy boolean) wartości zmiennej. "" to nie jest pusta zmienna, tylko zwykła zmienna tekstowa (string), która składa się z zera znaków. Określenie "pusta zmienna" czy "zmienna o niezdefiniowanej wartości" pasuje do NULL-a.
2. PHP jest językiem z dynamicznym typowaniem zmiennych przez co NULL, false, "", 0 czy 0.0 są bardzo często traktowane jako to samo (więcej na ten temat w manualu), nie mniej jednak nie można tych typów traktować jako identycznych (stąd chociażby operatory === i !== uwzględniające również typ zmiennych). 3. W kodzie NULL powinien być traktowany jako reprezentant nieokreśloności. Pusty tekst ("") powinien pojawiać się wyłącznie wtedy gdy mamy do czynienia konkretnie z tekstem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 12 Dołączył: 15.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
No ok, rozumiem.
Uczę się php i mam w klasie takie coś:
Wszystkie te zmienne dotyczą tekstu. Dlaczego więc autor użył NULL? Żeby pokazać, że też się da? Ten post edytował spokoloko123 2.03.2012, 20:42:17 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 44 Dołączył: 31.07.2011 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
No ok, rozumiem. Uczę się php i mam w klasie takie coś:
Wszystkie te zmienne dotyczą tekstu. Dlaczego więc autor użył NULL? Żeby pokazać, że też się da? Widocznie miał taką potrzebę, na pewno nie dlatego, żeby pokazać, że tak się da. Domyślam się, że NULL po to, żeby w dalszej części skryptu sprawdzić, czy zostały tym zmiennym przypisane jakieś wartości |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat W kodzie NULL powinien być traktowany jako reprezentant nieokreśloności.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:26 |