In the process of PHP development, we will definitely encounter that the received data type is different from the data type we want. In this case, we can use PHP has type conversion. Today we are going to talk about type conversion in PHP. Without further ado, let’s take a look!
Convert to integers and floating point numbers
The types that can be converted to integers only include floating point numbers, Boolean values, strings and resources. Arrays and objects cannot be converted to numeric types.
When converting to floating point numbers, except that there is its own set of rules for converting strings to floating point numbers, other values are first converted to integers (under the premise that they can be converted to integers), and then converted is a floating point number.
When converting from a floating point number to an integer, it is rounded down (the decimal part is discarded). If the floating point number is outside the integer range, the result is undefined because there is insufficient precision to give an exact integer result. There is no warning in this case, not even any notification!
Since PHP 7.0.0, NaN and Infinity are no longer undefined or platform-dependent when converted to integer, but will become zero.
When a string (only supports decimal) is converted to an integer, legal integer characters are searched starting from the first character until the end of the string or a non-integer character is encountered, and the found characters are converted into integers. If none Legal characters, the result is 0.
When converting a string to a floating-point number, search for legal floating-point characters starting from the first character until the end of the string or encountering a non-floating-point character. Convert the found character to a floating-point number. If there is no legal character, character, the result is 0.
If the string does not contain '.', 'e' or 'E' and its numeric value is within the range of integers (defined by PHP_INT_MAX), the string will be treated as an integer. value. In all other cases the value is treated as float.
The beginning of the string determines its value. If the string begins with a legal numeric value, that numeric value is used. Otherwise its value is 0 (zero). Legal values consist of an optional sign, followed by one or more digits (possibly with a decimal point), and then an optional exponent part. The exponent part consists of 'e' or 'E' followed by one or more digits.
echo 0+"0xff","\n"; // 0 echo 0+"2.33","\n"; // 2.33 echo 0+"033","\n"; // 33 echo 0+"2e3","\n"; // 2000
null -> 0 true -> 1 false -> 0
When converting resource to integer, the result will be the unique resource number assigned to resource by PHP runtime.
Convert to string
true -> "1" false -> "" null -> ""
Convert integer or floating point number to string, directly represent the value into string (decimal, decimal point form )
When the array is converted to a string, the result is "Array"
When the object is converted to a string, the result is "Object"
When the resource is converted to a string , a string like "Resource id#1"
is converted into a Boolean value
When other values are converted to Boolean values, only the following values will be converted to false, and all others will be converted to true:
Integer 0
Floating point number 0.0
String "0"
String""
Empty array (no elements)
Empty object (no members)
NULL (including not set yet) Variables)
SimpleXML object generated from empty tags
Convert to array
When integers, floating point numbers, Boolean values, and strings are converted into arrays, a new array is obtained. The array has only one element, so the value of the element is the corresponding integer, floating point number, Boolean value, or string.
When converting null to an array, the result is an empty array:
echo var_dump((array)null); //array(0) { }
Show conversion
1. You can Add a cast operator in front of the variable:
(int)(integer) (float)(double)(real) (bool)(boolean) (string) (array) (object)
This method does not change the data type of the variable, but only changes the data type of the expression.
2. Use the settype(var, type) function
$var = true; settype($var, "integer"); var_dump($var); // int(1)
It can be seen that the type and value of the variable have been modified
3. Use intval()/floatval() /boolval()/strval() series functions
Note that these functions do not modify the value of the variable
$var = "0xff"; $num = intval($var, 16); var_dump($var); // string(4) "0xff" var_dump($num); // int(255)
If the first parameter of the intval() function is a string, then An optional second parameter can be provided to specify the base of the value in the string. If this parameter is not provided, it will be processed in decimal by default. If the parameter is specified as 0, it will be automatically determined in the form of a string (starting with 0x is hexadecimal...)
intval() cannot be used Object type
This function returns a converted integer value. If the conversion fails, it returns 0. If the parameter is an array, a non-empty array returns 1, and an empty array returns 0
boolval() Gets the Boolean value of the parameter.
floatval()The parameters of the function can only be scalar types, such as integers, floating point numbers, Boolean values, and strings. Cannot be used with arrays or objects.
The parameters of the strval() function can only be scalar types, such as integers, floating point numbers, Boolean values, and strings. Cannot be used with arrays or objects.
Under what circumstances will no implicit conversion be performed?
#Both operands of arithmetic operator will be converted Is a numeric type.
The two operands of the string concatenation operator will be converted to string type.
In an expression that requires a string, it will be automatically converted to string. This conversion occurs, for example, when using the functions echo or print, or when comparing a variable to a string.
The above is all the content of type conversion in php. I hope it will be helpful to everyone. For more information, please search on this site.
Related recommendations:
Discrimination of php type conversion
PHP type conversion interview questions and answers analysis
The above is the detailed content of type conversion in php. For more information, please follow other related articles on the PHP Chinese website!

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP makes it easy to create interactive web content. 1) Dynamically generate content by embedding HTML and display it in real time based on user input or database data. 2) Process form submission and generate dynamic output to ensure that htmlspecialchars is used to prevent XSS. 3) Use MySQL to create a user registration system, and use password_hash and preprocessing statements to enhance security. Mastering these techniques will improve the efficiency of web development.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Dreamweaver CS6
Visual web development tools