Samouczek PHP

Strona główna PHP Wprowadzenie do PHP Instalacja PHP Składnia PHP Komentarze PHP Zmienne PHP PHP Echo / Drukuj Typy danych PHP Ciągi PHP Liczby PHP Matematyka w PHP Stałe PHP Operatory PHP PHP Jeśli...Inne...Elseif Przełącznik PHP Pętle PHP Funkcje PHP Tablice PHP PHP Superglobals PHP RegEx

Formularze PHP

Obsługa formularzy PHP Walidacja formularzy PHP Wymagany formularz PHP Adres URL/e-mail formularza PHP Formularz PHP kompletny

Zaawansowany PHP

Data i godzina w PHP Uwzględnij PHP Obsługa plików PHP Otwórz/odczytaj plik PHP Tworzenie/zapisywanie plików PHP Przesyłanie plików PHP Pliki cookie PHP Sesje PHP Filtry PHP Zaawansowane filtry PHP Funkcje wywołania zwrotnego PHP PHP JSON Wyjątki PHP

PHP OOP

PHP Co to jest OOP Klasy/obiekty PHP Konstruktor PHP Destruktor PHP Modyfikatory dostępu PHP Dziedziczenie PHP Stałe PHP Klasy abstrakcyjne PHP Interfejsy PHP Cechy PHP Metody statyczne PHP Właściwości statyczne PHP Przestrzenie nazw PHP Iterowalne PHP

Baza danych MySQL

Baza danych MySQL Połączenie MySQL Tworzenie bazy danych MySQL Utwórz tabelę MySQL Wstaw dane MySQL Pobierz ostatni identyfikator MySQL Wstaw wiele MySQL Przygotowano MySQL Wybierz dane MySQL MySQL Gdzie Zamów MySQL według Usuń dane MySQL Dane aktualizacji MySQL Dane limitu MySQL

PHP XML

Parsery PHP XML Parser PHP SimpleXML PHP SimpleXML — Get Rozszerzenie PHP XML PHP XML DOM

PHP - AJAX

Wprowadzenie do AJAX AJAX PHP Baza danych AJAX XML AJAX Wyszukiwanie na żywo AJAX Ankieta AJAX

Przykłady PHP

Przykłady PHP Kompilator PHP Quiz PHP Ćwiczenia PHP Certyfikat PHP

Odniesienie do PHP

Przegląd PHP Tablica PHP Kalendarz PHP Data PHP Katalog PHP Błąd PHP Wyjątek PHP System plików PHP Filtr PHP PHP FTP PHP JSON Słowa kluczowe PHP Biblioteka PHP Poczta PHP Matematyka w PHP Różne PHP PHP MySQLi Sieć PHP Kontrola wyjścia PHP PHP RegEx PHP SimpleXML Strumień PHP ciąg PHP Obsługa zmiennych PHP Parser PHP XML Kod pocztowy PHP Strefy czasowe PHP

Liczby PHP


W tym rozdziale przyjrzymy się szczegółowo liczbom całkowitym, zmiennoprzecinkowym i ciągom liczbowym.


Liczby PHP

Jedną rzeczą, na którą należy zwrócić uwagę w PHP, jest to, że zapewnia automatyczną konwersję typu danych.

Tak więc, jeśli przypiszesz wartość całkowitą do zmiennej, typem tej zmiennej będzie automatycznie liczba całkowita. Następnie, jeśli przypiszesz ciąg do tej samej zmiennej, typ zmieni się na ciąg.

Ta automatyczna konwersja może czasami złamać Twój kod.


Liczby całkowite w PHP

2, 256, -256, 10358, -179567 są liczbami całkowitymi.

Liczba całkowita to liczba bez części dziesiętnej.

Typ danych całkowitych to liczba niedziesiętna z zakresu od -2147483648 do 2147483647 w systemach 32-bitowych oraz od -9223372036854775808 do 9223372036854775807 w systemach 64-bitowych. Wartość większa (lub mniejsza) niż ta będzie przechowywana jako zmiennoprzecinkowa, ponieważ przekracza limit liczby całkowitej.

Uwaga: Inną ważną rzeczą, o której należy wiedzieć, jest to, że nawet jeśli 4 * 2,5 to 10, wynik jest przechowywany jako zmiennoprzecinkowy, ponieważ jeden z operandów jest zmiennoprzecinkowy (2,5).

Oto kilka zasad dotyczących liczb całkowitych:

  • Liczba całkowita musi mieć co najmniej jedną cyfrę
  • Liczba całkowita NIE może mieć kropki dziesiętnej
  • Liczba całkowita może być dodatnia lub ujemna
  • Liczby całkowite mogą być podawane w trzech formatach: dziesiętnym (oparte na 10), szesnastkowym (oparte na 16 - z prefiksem 0x) lub ósemkowym (oparte na 8 - z prefiksem 0)

PHP ma następujące predefiniowane stałe dla liczb całkowitych:

  • PHP_INT_MAX — Największa obsługiwana liczba całkowita
  • PHP_INT_MIN - Najmniejsza obsługiwana liczba całkowita
  • PHP_INT_SIZE - Rozmiar liczby całkowitej w bajtach

PHP posiada następujące funkcje sprawdzające, czy typ zmiennej jest liczbą całkowitą:

  • is_int()
  • is_integer() - alias is_int()
  • is_long() - alias is_int()

Przykład

Sprawdź, czy typ zmiennej jest liczbą całkowitą:

<?php
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>


Pływaki PHP

Float to liczba z kropką dziesiętną lub liczba w formie wykładniczej.

2,0, 256,4, 10,358, 7,64E+5, 5,56E-5 to wszystkie pływaki.

Typ danych float może zwykle przechowywać wartość do 1.7976931348623E+308 (zależną od platformy) i ma maksymalną precyzję 14 cyfr.

PHP ma następujące predefiniowane stałe dla elementów pływających (z PHP 7.2):

  • PHP_FLOAT_MAX - Największa możliwa do przedstawienia liczba zmiennoprzecinkowa
  • PHP_FLOAT_MIN - Najmniejsza reprezentowalna dodatnia liczba zmiennoprzecinkowa
  • - PHP_FLOAT_MAX - Najmniejsza możliwa do przedstawienia ujemna liczba zmiennoprzecinkowa
  • PHP_FLOAT_DIG - Liczba cyfr dziesiętnych, które można zaokrąglić do liczby zmiennoprzecinkowej iz powrotem bez utraty precyzji
  • PHP_FLOAT_EPSILON - Najmniejsza reprezentowalna liczba dodatnia x, czyli x + 1.0 != 1.0

PHP posiada następujące funkcje, które sprawdzają, czy typ zmiennej jest zmiennoprzecinkowy:

  • is_float()
  • is_double() - alias is_float()

Przykład

Sprawdź, czy typ zmiennej jest zmiennoprzecinkowy:

<?php
$x = 10.365;
var_dump(is_float($x));
?>

PHP nieskończoność

Wartość liczbowa większa niż PHP_FLOAT_MAX jest uważana za nieskończoną.

PHP posiada następujące funkcje do sprawdzania, czy wartość liczbowa jest skończona czy nieskończona:

Jednak funkcja PHP var_dump() zwraca typ i wartość danych:

Przykład

Sprawdź, czy wartość liczbowa jest skończona czy nieskończona:

<?php
$x = 1.9e411;
var_dump($x);
?>

PHP NaN

NaN to skrót od Not a Number.

NaN jest używany do niemożliwych operacji matematycznych.

PHP posiada następujące funkcje do sprawdzania, czy wartość nie jest liczbą:

Jednak funkcja PHP var_dump() zwraca typ i wartość danych:

Przykład

Nieprawidłowe obliczenie zwróci wartość NaN:

<?php
$x = acos(8);
var_dump($x);
?>

Ciągi numeryczne PHP

Funkcji PHP is_numeric() można użyć do sprawdzenia, czy zmienna jest liczbowa. Funkcja zwraca prawdę, jeśli zmienna jest liczbą lub ciągiem numerycznym, w przeciwnym razie fałsz.

Przykład

Sprawdź, czy zmienna jest liczbowa:

<?php
$x = 5985;
var_dump(is_numeric($x));

$x = "5985";
var_dump(is_numeric($x));

$x = "59.85" + 100;
var_dump(is_numeric($x));

$x = "Hello";
var_dump(is_numeric($x));
?>

Uwaga: Od PHP 7.0: Funkcja is_numeric() zwróci FALSE dla ciągów numerycznych w postaci szesnastkowej (np. 0xf4c3b00c), ponieważ nie są one już uważane za ciągi numeryczne.


PHP rzucanie ciągów i liczb zmiennoprzecinkowych na liczby całkowite

Czasami trzeba rzutować wartość liczbową na inny typ danych.

Funkcje (int), (integer) lub intval() są często używane do konwersji wartości na liczbę całkowitą.

Przykład

Rzuć liczbę zmiennoprzecinkową i ciąg znaków na liczbę całkowitą:

<?php
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;

echo "<br>";

// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>