Przejdź do treści
Kodivo debiutuje na Product Hunt. Podziel się opinią

Zmienne i typy danych: zrozum wartości używane w kodzie

Cena, adres email i brak odpowiedzi wymagają innego traktowania. Typy danych pomagają opisać te różnice w kodzie.

Nadaj wartości nazwę

Zmienna pozwala nadać nazwę wartości używanej w programie. W PHP jej nazwa zaczyna się od $. Znak = przypisuje wartość. Poniżej zapisujemy liczbę lekcji, tekst oraz informację logiczną:

PHP
<?php

$completed = 2;
$technology = "PHP";
$hasAccount = true;

var_dump($completed, $technology, $hasAccount);

Wynik

int(2)
string(3) "PHP"
bool(true)

var_dump pokazuje typ i zawartość. Wyniki to int(2), string(3) "PHP" oraz bool(true), każdy w osobnej linii. Opisowa nazwa pomaga odczytać znaczenie wartości, choć sama nie wymusza jej typu.

Rozpoznaj typ każdej wartości

int to liczba całkowita. float przechowuje liczby zmiennoprzecinkowe. string to tekst, a bool ma wartości true i false. Tekst "2" i liczba 2 mogą wyglądać podobnie na ekranie, ale mają różne typy.

Przykłady wejścia są częścią wymagań. Gdy pole formularza zawiera liczbę jako tekst, ustal, czy program ma sprawdzić format i dokonać konwersji. Nie traktuj każdej konwersji jako obojętnej: zamiana danych może utracić informację o tym, co użytkownik rzeczywiście podał.

Odróżnij brak wartości od fałszu

null może oznaczać brak wartości. false jest wartością logiczną, a zero jest liczbą. W pytaniu „czy odpowiedź została udzielona?” każde z nich może znaczyć coś innego. Ścisłe porównanie === sprawdza zgodność typu i wartości.

Uruchom poniższy przykład w PHP 8+. Wyniki to bool(false) oraz bool(true). Zwróć uwagę, że == dopuszcza konwersje typów.

PHP
<?php

var_dump("2" === 2);
var_dump("2" == 2);

Wynik

bool(false)
bool(true)

Prześledź ten temat w lekcji Kodivo o null oraz w dokumentacji porównań PHP. Sprawdzaj przykłady dla wersji PHP, na której wykonujesz kod.

Powiedz agentowi, jakich danych oczekujesz

Zamiast prosić „obsłuż wiek”, napisz: „Wiek jest opcjonalny. Brak danych ma pozostać null. Podane dane muszą być nieujemną liczbą całkowitą. Nie zamieniaj pustego wpisu na zero”. Agent otrzymuje znaczenie danych oraz przypadek, który trzeba zachować.

Poproś o przykłady dla braku danych, zera i tekstu niebędącego liczbą. Wyjaśnij własnymi słowami, co ma się wydarzyć w każdym przypadku. To dobry sposób na sprawdzenie wiedzy również po przerwie w programowaniu.

Kodivo: karta lekcji pokazuje, że null różni się od false i zera. Obok wyświetla kod PHP i wynik.
Przykładowa lekcja „Null and missing values” w Kodivo. Kod i wynik są widoczne obok wyjaśnienia. Interfejs i lekcje są po angielsku.
Sprawdzenie wiedzy w Kodivo: kod z isset i wybór odpowiedzi bool(true) lub bool(false).
W publicznym demo możesz samodzielnie odpowiedzieć na pytanie o kod PHP i sprawdzić odpowiedź. Konto zapisuje postępy w opublikowanych lekcjach.