Integer ����

integer �Ǽ��� ? = {..., -2, -1, 0, 1, 2, ...} �е�ij������

���

�﷨

����ֵ����ʹ��ʮ���ƣ�ʮ�����ƣ��˽��ƻ�����Ʊ�ʾ��ǰ����Լ��Ͽ�ѡ�ķ��ţ�- ���� +����

�����Ʊ��� integer �� PHP 5.4.0 ����á�

Ҫʹ�ð˽��Ʊ�����ǰ������� 0���㣩��Ҫʹ��ʮ�����Ʊ�����ǰ������� 0x��Ҫʹ�ö����Ʊ�����ǰ������� 0b��

Example #1 �������ֱ��

<?php
$a 
1234// ʮ������
$a = -123// ����
$a 0123// �˽����� (����ʮ���� 83)
$a 0x1A// ʮ�������� (����ʮ���� 26)
$a 0b11111111// ���������� (����ʮ���� 255)
?>

integer �﷨�Ľṹ��ʽ�ǣ�

decimal     : [1-9][0-9]*
            | 0

hexadecimal : 0[xX][0-9a-fA-F]+

octal       : 0[0-7]+

binary      : 0b[01]+

integer     : [+-]?decimal
            | [+-]?hexadecimal
            | [+-]?octal
            | [+-]?binary

���������ֳ���ƽ̨�йأ�����ͨ�����ֵ�Ǵ�Լ��ʮ�ڣ�32 λ�з��ţ���64 λƽ̨�µ����ֵͨ���Ǵ�Լ 9E18������ Windows �� PHP 7 ��ǰ�İ汾������ 32 λ�ġ� PHP ��֧���޷��ŵ� integer��Integer ֵ���ֳ������ó��� PHP_INT_SIZE����ʾ���� PHP 4.4.0 �� PHP 5.0.5�����ֵ�����ó��� PHP_INT_MAX ����ʾ����Сֵ������ PHP 7.0.0 ���Ժ�İ汾���ó��� PHP_INT_MIN ��ʾ��

Warning

PHP 7 ��ǰ�İ汾������˽�����������һ���Ƿ����֣��� 8 �� 9����������������ֻᱻ���ԡ�PHP 7 �Ժ󣬻���� Parse Error��

�������

���������һ���������� integer �ķ�Χ�����ᱻ����Ϊ float��ͬ�����ִ�е������������� integer ��Χ��Ҳ�᷵�� float��

Example #2 32 λϵͳ�µ��������

<?php
$large_number 
2147483647;
var_dump($large_number);                     // int(2147483647)

$large_number 2147483648;
var_dump($large_number);                     // float(2147483648)

$million 1000000;
$large_number =  50000 $million;
var_dump($large_number);                     // float(50000000000)
?>

Example #3 64 λϵͳ�µ��������

<?php
$large_number 
9223372036854775807;
var_dump($large_number);                     // int(9223372036854775807)

$large_number 9223372036854775808;
var_dump($large_number);                     // float(9.2233720368548E+18)

$million 1000000;
$large_number =  50000000000000 $million;
var_dump($large_number);                     // float(5.0E+19)
?>

PHP ��û���������������1/2 ������ float 0.5�� ֵ��������С�����֣�ǿ��ת��Ϊ integer������ʹ�� round() �������Ը��õؽ����������롣

<?php
var_dump
(25/7);         // float(3.5714285714286) 
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7));  // float(4) 
?>

ת��Ϊ����

Ҫ��ȷ�ؽ�һ��ֵת��Ϊ integer���� (int) �� (integer) ǿ��ת�����������������¶�����Ҫǿ��ת������Ϊ������������������̿�����Ҫһ�� integer ����ʱ��ֵ���Զ�ת����������ͨ������ intval() ����һ��ֵת�������͡�

�� resource ת���� integer ʱ�� ������� PHP ����ʱΪ resource �����Ψһ��Դ�š�

�μ�������ת�����б���

������ֵת��

FALSE �������� 0���㣩��TRUE �������� 1��Ҽ����

��������ת��

���Ӹ�����ת��������ʱ��������ȡ����

���������������������Χ��32 λƽ̨��ͨ��Ϊ +/- 2.15e+9 = 2^31��64 λƽ̨�£����� Windows��ͨ��Ϊ +/- 9.22e+18 = 2^63��������Ϊδ���壬��Ϊû���㹻�ľ��ȸ���һ��ȷ�е�����������ڴ������û�о��棬����û���κ�֪ͨ��

Note:

PHP 7.0.0 ��NaN �� Infinity ��ת���� integer ʱ�������� undefined ����������ƽ̨�����Ƕ������㡣

Warning

����Ҫ��δ֪�ķ���ǿ��ת��Ϊ integer��������ʱ�ᵼ�²���Ԥ�ϵĽ����

<?php
echo (int) ( (0.1+0.7) * 10 ); // ��ʾ 7!
?>

�μ����ڸ��������ȵľ�����

���ַ���ת��

�μ��ַ���ת��Ϊ��ֵ��

����������ת��

Caution

û�ж������������ת��Ϊ���͵���Ϊ����Ҫ�����κ����е���Ϊ����Ϊ����δ��֪ͨ�ظı䡣