Home  >  Article  >  Backend Development  >  PHP data types

PHP data types

WBOY
WBOYOriginal
2016-08-08 09:22:161030browse
PHP supports 8 primitive data types.
Four scalar types:
? boolean (Boolean type)
? integer (integer type)
? float (floating point type, also called double)
? string (string)
Two composite types:
? array (array)
? object (object)
Finally there are two special types:
? resource (resource)
? NULL (no type) )
In order to ensure the readability of the code, there are also some pseudo-types:
? mixed (mixed type)
? number (numeric type)
? callback (callback type)
Pseudo variables $...
The type of a variable is usually not set by the programmer. Rather, it is determined by PHP at runtime based on the context in which the variable is used. If you want to check the value and type of an expression, use the
var_dump() function. If you just want a human-readable representation of the type for debugging, use gettype() function. To check a type, don't use gettype(), use the is_type function. If you want to force a variable to a certain type, you can use cast or settype() function. 【boolean】
To specify a Boolean value, use the keywords TRUE or FALSE. Both are not case sensitive.
Convert to Boolean
To explicitly convert a value to boolean, use (bool) or (boolean) to cast.

When converted to boolean, the following values ​​are considered FALSE: ? Boolean value FALSE itself
? Integer value 0 (zero)
? Floating point value 0.0 (zero)
? Empty string, and the string "0"
? Array not including any elements
? Object not including any member variables (only applicable to PHP 4.0)
? Special type NULL (including not yet Assigned variable)
? A SimpleXML object generated from an empty tag
[integer]
Integer values ​​can be represented in decimal, hexadecimal, octal or binary, and can be preceded by an optional symbol ( - or +).
                                                  Binary representation of integer available since PHP 5.4.0. To use octal notation, the number must be preceded by
0(zero). To use hexadecimal expression, the number must be preceded by 0x. To use binary representation, the number must be preceded by 0b. The word length of an Integer value can be represented by the constant PHP_INT_SIZE. Since PHP 4.4.0 and PHP 5.0.5, the maximum value can be represented by a constant.
PHP_INT_MAX to represent. If a given number exceeds the range of integer, it will be interpreted as float. Similarly, if the result of the operation exceeds the range of integer, float will also be returned.
There is no integer division operator in PHP.
1/2 yields float 0.5. The value can be cast to an integer, discarding the fractional part, or using the round() function for better rounding. Convert to integer
To explicitly convert a value to an integer, use (int) or (integer) cast.
【float】
Floating point numbers have limited precision. Rational numbers such as 0.1 or 0.7 that can be accurately represented in decimal notation, no matter how many mantissas there are, cannot be accurately represented by the binary used internally, and therefore cannot be converted to binary format without losing a little bit of precision. This can lead to confusing results: for example,
floor((0.1+0.7)*10) will usually return 7 instead of the expected 8, because the internal representation of the result is actually something like 7.99999999999999991118... . So never believe that the floating point number result is accurate to the last digit, and never compare two floating point numbers to see if they are equal. If you really need higher precision, you should use arbitrary precision math functions or the gmp function.
【NULL】
The special NULL value indicates that a variable has no value. The only possible value of type NULL is NULL.
A variable is considered NULL when:
? is assigned a value of NULL.
? has not been assigned a value yet.
? is
unset().
【Judgement of type conversion】
The allowed casts are:
? (int), (integer) - Convert to integer
? (bool), (boolean) - Convert to Boolean type boolean
? (float), (double), (real) - Convert to float
? (string) - Convert to string string
? (array) - Convert to array array
? (object) - Convert to object object
? (unset) - Convert to NULL (PHP 5)
【Variable handling function】
?boolval — Get the boolean value of a variable
? debug_zval_dump — Dumps a string representation of an internal zend value to output
?doubleval — Alias ​​for floatval
?empty — Check if a variable is empty
?floatval — Get the floating point value of a variable
? get_defined_vars — Returns an array consisting of all defined variables
?get_resource_type — Returns the resource type
?gettype — Gets the type of the variable
?import_request_variables — Imports GET/POST/Cookie variables into the global In the scope
?intval — Get the integer value of the variable
?is_array — Check whether the variable is an array
?is_bool — Check whether the variable is a Boolean type
?is_callable — Check whether the parameter is legal and callable Calling structure
?is_double — Alias ​​of is_float
?is_float — Detects whether the variable is a floating point type
?is_int — Detects whether the variable is an integer
?is_integer — Alias ​​of is_int
?is_long — Alias ​​of is_int
?is_null — Detects whether a variable is NULL
?is_numeric — Detects whether a variable is a number or a string of numbers
?is_object — Detects whether a variable is an object
?is_real — Alias ​​of is_float
?is_resource — Check whether the variable is a resource type
?is_scalar — Check whether the variable is a scalar
?is_string — Check whether the variable is a string
?isset — Check whether the variable is set
? print_r — Print human-readable information about a variable.
?serialize — Generate a storable representation of a value
?settype — Set the type of a variable
?strval — Get the string value of a variable
?unserialize — Create PHP from a stored representation The value of
?unset — Unset the given variable
?var_dump — Print information about the variable

?var_export — Output or return the string representation of a variable

<?php
	// boolean
	$bFlag = true;
	if($bFlag)
	{
		echo &#39;变量$bFlag为真&#39;.&#39;<br>';
	}
	else
	{
		echo '变量$bFlag为假'.'<br>';
	}	
	
	// integer
	$iVal = 12345678;
	echo '十进制的结果'.$iVal.'<br>';
	
	$a1 = 1234; // 十进制数
	$a2 = -123; // 负数
	$a3 = 0123; // 八进制数 (等于十进制 83)
	$a4 = 0x1A; // 十六进制数 (等于十进制 26)
	
	$large_number = 2147483647;
	echo var_dump($large_number).'<br>'; 
	
	var_dump(25/7);         // float(3.5714285714286) 
	var_dump((int) (25/7)); // int(3)
	
	// float
	$fVal = 3.141592653;
	echo '变量$fVal的值是'.$fVal.'<br>';
	
	// null
	$str1 = null;
	$str2 = 'str';
	if(is_null($st1))
	{
		echo '$str1为null'.'<br>';
	}
	
	// 调试某个类型
	echo gettype($str2).'<br>';
	if(is_string($str2))
	{
		echo '$str2为string类型'.'<br>';
	}	
	
	// 销毁对象
	unset($str2); 
	if(is_null($st1))
	{
		echo '$str2为null'.'<br>';
	}
	
?>

The above introduces PHP data types, including aspects of content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:filter_var phpNext article:filter_var php