Część 02 kursu PHP pod kątem INF.03: Łączenie tekstu i liczby. Teoria w skrócie i 16 ćwiczeń z automatycznym sprawdzaniem — od kropki i działań, przez modulo i zaokrąglenia, po paragony i faktury.
Kropka . łączy napisy i dokleja do nich liczby. Wynik jest zawsze tekstem, więc 'Razem: ' . 5 . ' zł' da na stronie jedno zdanie, a nie trzy osobne wartości.
$imie = 'Ola';
$punkty = 18;
echo 'Uczen: ' . $imie;
echo '<p>Punkty: ' . $punkty . ' z 20</p>';
echo '<p>Srednia: ' . ($punkty / 20 * 100) . '%</p>';
$imie = 'Ola';
$punkty = 18;
echo 'Uczen: ' . $imie;
echo '<p>Punkty: ' . $punkty . ' z 20</p>';
echo '<p>Srednia: ' . ($punkty / 20 * 100) . '%</p>';
Czym sklejamy napisy w PHP?
Poprawna: b) Operatorem konkatenacji jest kropka.
W cudzysłowach podwójnych PHP wstawia wartość zmiennej wprost do napisu: "Witaj, $imie!" . W apostrofach to się nie dzieje — 'Witaj, $imie!' wypisze dosłownie znak dolara i nazwę zmiennej.
$imie = 'Ala';
$wiek = 17;
echo "Uczen: $imie, wiek: $wiek lat";
echo '<p>To samo w apostrofach: $imie</p>';
echo "<p>Sklejone: " . $imie . ' ma ' . $wiek . ' lat</p>';
$imie = 'Ala';
$wiek = 17;
echo "Uczen: $imie, wiek: $wiek lat";
echo '<p>To samo w apostrofach: $imie</p>';
echo "<p>Sklejone: " . $imie . ' ma ' . $wiek . ' lat</p>';
W jakich cudzysłowach działa $imie?
Poprawna: c) Interpolacja działa wyłącznie w cudzysłowach podwójnych.
Dane z formularza zawsze przychodzą jako tekst, nawet gdy pole nazywa się cena . Do liczenia trzeba je najpierw zamienić: intval($_GET['sztuki']) da liczbę całkowitą, a floatval() liczbę zmiennoprzecinkową.
$sztuki = intval('3');
$cena = floatval('19.99');
$razem = $sztuki * $cena;
echo 'Razem: ' . number_format($razem, 2, ',', ' ') . ' zl';
echo '<p>Polowa: ' . round($razem / 2, 2) . '</p>';
echo '<p>Reszta z dzielenia: ' . ($sztuki % 2) . '</p>';
$sztuki = intval('3');
$cena = floatval('19.99');
$razem = $sztuki * $cena;
echo 'Razem: ' . number_format($razem, 2, ',', ' ') . ' zl';
echo '<p>Polowa: ' . round($razem / 2, 2) . '</p>';
echo '<p>Reszta z dzielenia: ' . ($sztuki % 2) . '</p>';
Jak zamienić tekst na liczbę całkowitą?
Poprawna: b) intval() zwraca liczbę całkowitą z tekstu.