Zmienne w PHP
Z ToProste
Spis treści
Typy zmiennych w PHP
PHP operuje na zmiennych następujących typów:
- liczby zmiennoprzecinkowe
- liczby całkowite
- ciągi
- tablice
- obiekty
Cechy zmiennych w PHP
- Typ zmiennej nie jest deklarowany przez programistę.
- Typ zmiennej wynika z kontekstu w jakim zmienna została użyta.
- PHP dokonuje niejawnej konwersji typu zmiennych. To dobrze, czy źle? Tego nie wiem ;) Jednak należy o tym pamiętać, ponieważ może to prowadzić do błędów, które trudno zlokalizować.
Liczby całkowite i zmiennoprzecinkowe
<?php $int1 = 357; // liczba dziesiętna $int2 = -357; // dziesiętna ujemna $int3 = 0545; // ósemkowa reprezentacja liczby 357 $int4 = 0x165; // szesnastkowa reprezentacja liczby 357 $float1 = 357.159; // zwykły zapis liczby zmiennoprzecinkowej $float2 = 3.57159e2; // notacja naukowa liczby zmiennoprzecinkowej echo( "$int1, $int2, $int3, $int4, $float1, $float2<br>" ); ?>
Wykonanie skryptu wyświetla:
357, -357, 357, 357, 357.159, 357.159
Niejawna konwersja typu zmiennych w PHP
Najlepiej pokazać to na przykładzie.
<?php $ciag_znakow = "4 kółka"; // Nie da sie ukryc, ze jest to string. echo( 4 * $ciag_znakow ); // Coz zwroci takie dzialanie w PHP? ?>
Wynikiem wykonania tego skryptu bedzie:
16
Co się stało ze słowem kółka, które jest częścią ciągu znaków przypisanych do zmiennej $ciag_znakow? A no, po niejawnej konwersji otrzymał on wartość zero. - Nie wierzysz? Sprawdź.
Jak PHP konwertuje ciągi znaków na liczby
- Jeżeli ciąg zaczyna się od danych numerycznych, zostaną one skonwertowane na liczbę.
- Jeżeli ciąg nie zaczyna się prawidłowymi danymi liczbowymi, wartością ciągu będzie zero (0).
- Jeżeli dane numeryczne zawierają jeden ze znaków: kropka (.),e lub E, wartość będzie liczbą zmiennoprzecinkową, a liczbą całkowitą w przeciwnym przypadku.