Zmienne w PHP

Z ToProste
Skocz do: nawigacji, wyszukiwania

Typy zmiennych w PHP

PHP operuje na zmiennych następujących typów:

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

  1. Jeżeli ciąg zaczyna się od danych numerycznych, zostaną one skonwertowane na liczbę.
  2. Jeżeli ciąg nie zaczyna się prawidłowymi danymi liczbowymi, wartością ciągu będzie zero (0).
  3. 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.


Zobacz też