PHP- nommers
In hierdie hoofstuk sal ons in diepte kyk na Heelgetalle, Vlotte en Getallestringe.
PHP-nommers
Een ding om op te let oor PHP is dat dit outomatiese datatipe-omskakeling bied.
Dus, as jy 'n heelgetalwaarde aan 'n veranderlike toeken, sal die tipe van daardie veranderlike outomaties 'n heelgetal wees. Dan, as jy 'n string aan dieselfde veranderlike toewys, sal die tipe verander na 'n string.
Hierdie outomatiese omskakeling kan soms jou kode breek.
PHP Heelgetalle
2, 256, -256, 10358, -179567 is almal heelgetalle.
'n Heelgetal is 'n getal sonder enige desimale deel.
'n Heelgetaldatatipe is 'n nie-desimale getal tussen -2147483648 en 2147483647 in 32-bis-stelsels, en tussen -9223372036854775808 en 9223372036854775807 in 64-bis-stelsels. 'n Waarde groter (of laer) as dit, sal as dryf gestoor word, omdat dit die limiet van 'n heelgetal oorskry.
Let wel: Nog 'n belangrike ding om te weet is dat selfs al is 4 * 2.5 10, die resultaat as dryf gestoor word, want een van die operandes is 'n dryf (2.5).
Hier is 'n paar reëls vir heelgetalle:
- 'n Heelgetal moet ten minste een syfer hê
- 'n Heelgetal moet NIE 'n desimale punt hê nie
- 'n Heelgetal kan óf positief óf negatief wees
- Heelgetalle kan in drie formate gespesifiseer word: desimale (10-gebaseer), heksadesimale (16-gebaseer - voorvoegsel met 0x) of oktaal (8-gebaseer - voorvoegsel met 0)
PHP het die volgende voorafbepaalde konstantes vir heelgetalle:
- PHP_INT_MAX - Die grootste heelgetal word ondersteun
- PHP_INT_MIN - Die kleinste heelgetal word ondersteun
- PHP_INT_SIZE - Die grootte van 'n heelgetal in grepe
PHP het die volgende funksies om te kyk of die tipe veranderlike heelgetal is:
- is_int()
- is_integer() - alias van is_int()
- is_long() - alias van is_int()
Voorbeeld
Kyk of die tipe veranderlike heelgetal is:
<?php
$x = 5985;
var_dump(is_int($x));
$x = 59.85;
var_dump(is_int($x));
?>
PHP dryf
'n Vlotter is 'n getal met 'n desimale punt of 'n getal in eksponensiële vorm.
2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 is almal dryf.
Die dryfdatatipe kan gewoonlik 'n waarde stoor tot 1,7976931348623E+308 (platformafhanklik), en het 'n maksimum akkuraatheid van 14 syfers.
PHP het die volgende voorafbepaalde konstantes vir vlotte (vanaf PHP 7.2):
- PHP_FLOAT_MAX - Die grootste verteenwoordigbare drywende punt-nommer
- PHP_FLOAT_MIN - Die kleinste verteenwoordigbare positiewe swaaipuntgetal
- - PHP_FLOAT_MAX - Die kleinste verteenwoordigbare negatiewe swaaipuntgetal
- PHP_FLOAT_DIG - Die aantal desimale syfers wat afgerond kan word in 'n vlot en terug sonder presisieverlies
- PHP_FLOAT_EPSILON - Die kleinste verteenwoordigende positiewe getal x, sodat x + 1.0 != 1.0
PHP het die volgende funksies om te kyk of die tipe veranderlike dryf:
- is_float()
- is_double() - alias van is_float()
Voorbeeld
Kyk of die tipe veranderlike float is:
<?php
$x = 10.365;
var_dump(is_float($x));
?>
PHP Oneindigheid
'n Numeriese waarde wat groter is as PHP_FLOAT_MAX word as oneindig beskou.
PHP het die volgende funksies om te kyk of 'n numeriese waarde eindig of oneindig is:
Die PHP var_dump()-funksie gee egter die datatipe en waarde terug:
Voorbeeld
Kyk of 'n numeriese waarde eindig of oneindig is:
<?php
$x = 1.9e411;
var_dump($x);
?>
PHP NaN
NaN staan vir Not a Number.
NaN word gebruik vir onmoontlike wiskundige bewerkings.
PHP het die volgende funksies om te kyk of 'n waarde nie 'n getal is nie:
Die PHP var_dump()-funksie gee egter die datatipe en waarde terug:
Voorbeeld
Ongeldige berekening sal 'n NaN-waarde terugstuur:
<?php
$x = acos(8);
var_dump($x);
?>
PHP Numeriese Strings
Die PHP is_numeric() funksie kan gebruik word om te bepaal of 'n veranderlike numeries is. Die funksie gee waar as die veranderlike 'n getal of 'n numeriese string is, anders vals.
Voorbeeld
Kyk of die veranderlike numeries is:
<?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));
?>
Let wel: Vanaf PHP 7.0: Die is_numeric() funksie sal ONWAAR vir numeriese stringe in heksadesimale vorm terugstuur (bv. 0xf4c3b00c), aangesien hulle nie meer as numeriese stringe beskou word nie.
PHP gooi snare en dryf na heelgetalle
Soms moet jy 'n numeriese waarde in 'n ander datatipe gooi.
Die (int), (heelgetal) of intval() funksie word dikwels gebruik om 'n waarde na 'n heelgetal om te skakel.
Voorbeeld
Gooi vlotter en tou na heelgetal:
<?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;
?>