php int is 4 bytes. The verification method is to use the constant PHP_INT_SIZE to get how many bytes the INT type occupies in the memory, and then use the echo statement to output the number of bytes obtained by the constant PHP_INT_SIZE.
The operating environment of this article: Windows7 system, PHP7.1 version, Dell G3 computer
How many bytes is php int? How many bytes does the output INT type occupy in memory?
Create a new 333.php, as shown in the figure:
Add the delimiter of php (), As shown in the figure:
Declares the file type and encoding for PHP to interact with the browser, as shown in the figure:
Use the constant PHP_INT_SIZE to get how many bytes the INT type occupies in the memory, as shown in the figure:
Use the echo statement to output the number of bytes obtained by the constant PHP_INT_SIZE , as shown in the picture:
Run the web page and display the obtained results on the browser, as shown in the picture:
section id="smaller-text-left-7">This is the end of this tutorial!
This is the end of this tutorial!
Content expansion
Understanding the different number of bytes occupied by the int type in php on different platforms
1. The number of bytes occupied and the maximum value on the platform
- On the 32-bit platform int occupies 4 bytes, on the 64-bit platform int occupies 8 bytes, PHP_INT_SIZE
- The maximum value of int on 32-bit platforms is 2^31 - 1, on 64-bit platforms the maximum value of int is 2^63 - 1, PHP_INT_MAX. Int in php does not support unsigned
2. Why is the number of bytes occupied by the int type different on different platforms?
No matter what type, the compiled language will convert the source code When compiled into machine code, since different platforms have different register bit widths, they have their own regulations on int, which makes the int data type quite special. The specific number of bytes allocated is related to the machine word length and the compiler. But it is generally equal to the machine register bit width (except for 64-bit platforms, the default is 4 bytes). If you write code on a 32-bit platform (the so-called 32-bit platform means that the data width of the general register is 32), the int type allocates 4 words byte, while on 16-bit platforms 2 bytes are allocated. The compiler is software that converts code into machine code. If it wants, it can convert int into 256-bit, but it will increase the complexity of the machine and reduce portability.
3. Platform
I consider these three together (CPU OS Compiler) because: 1. 64-bit machines can also be installed with 32-bit systems (x64 with XP) ;2. There can be 16/32-bit compilers on 32-bit machines (tc on XP is 16-bit, and other common ones are 32-bit); 3. Even a 32-bit compiler can produce 64-bit compilers integer(int64). The above are based on the common wintel platform, plus other platforms (other CPUs and OSs) that we may have few opportunities to come into contact with, so I personally think that the concept of the so-called platform is a combination of the three. Although the lengths of the three can be different, they obviously work together (that is, the lengths are equal, 32-bit CPU, 32-bit OS, 32-bit Compiler) to exert the greatest energy. Another topic, if you look at it from an abstract level, each program only has a virtual computing environment. You don’t need to consider the actual environment. You only need to understand the situation of the virtual environment. This does not consider portability or non-compliance. It is very helpful when programming at the bottom level, so that you can focus on your logic instead of implementation
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How many bytes is php int?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1
Easy-to-use and free code editor

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.
