This article introduces in detail the most basic content in PHP learning, including basic data types, variable types, operators and other things that you will come into contact with when getting started.
-
Basic data types supported by php:
Integer:integer
Float (Double, double precision value): floating point number, representing all real numbers
String: string
Boolean: Boolean value, true/false
Array: Save multiple data items of the same type
Object: Object, saves instances of classes
NULL: A variable that has not been assigned a value, has been reset, or is assigned the special value NULL
Certain built-in functions (such as database functions) will return variables of type resource
Four scalar types:
string (string)
integer(integer type)
float (floating point type, also called double )
boolean
Two compound types:
array (array)
object
Two special types:
resource
NULL (empty)
View variable type
You can easily check the type of a variable through the gettype() function:
The code is as follows
$var_bool = TRUE; // a boolean
$var_str = "foo"; // a string
$var_int = 12; // an integer
echo gettype($var_bool); // Output boolean
echo gettype($var_str); // Output string
echo gettype($var_int); // Output integer
?>
Tips
For historical reasons, if it is float type data, the gettype() function returns double instead of float.
If you want to see the value and type of an expression, use the var_dump() function.
Determine variable type
If you want to determine the next logical action by judging the variable type, do not use gettype(), but use the is_type series of functions:
The code is as follows
$var_int = 12;
// If $var_int is of type int, this performs addition
if (is_int($var_int)) {
$var_int = $var_int+4;
}
echo $var_int; // Output 16
?>
Both NULL and resource represent external resources, such as database connections
Basically, you cannot directly operate a resource variable, but usually they will be returned by the function and must be passed as parameters to other functions.
In PHP, the type of a variable is determined by the value assigned to the variable. (dynamically typed language)
PHP can determine the type of a variable at any time based on the value stored in the variable, which means it has the ability to transparently change the variable type at any time.
PHP will "automatically" get the data type of the input and once the variable value is retrieved from the variable it will return data with the same data type.
Make it a habit: Constant names are composed of uppercase letters. This makes it easier to distinguish between variables and constants.
An important difference between constants and variables is that when you refer to a constant, it is not preceded by the $ symbol.
Another difference between constants and variables is that constants can only hold Boolean, integer, floating point, or string data, which are all scalar data types.
Variable type change (juggling)
PHP does not require (or does not support) specifying its variable type in the declared variable; the type of a variable is determined by the context in which the variable is used, that is, if you assign a string to a variable var The value of var becomes a string variable. If you assign an integer to var, it becomes an integer variable. An example of PHP automatically converting variable types is the addition operator '+'. If any operand is a double, then all operands are evaluated as doubles, and the result is also a double. Otherwise, the operands will be considered to be integers and the result will be an integer. Note that this does not affect the variable type of each operand itself, the only change is how the operands are processed during the calculation. $foo = "0"; // $foo is a string, the value is "0" (ASCII 48)
PHP code
The code is as follows
$foo = "http://www.hzhuti.com/HTC/G11/"; // $foo is a string, the value is "0" (ASCII 48)
$foo++; // $foo is a string with the value "1" (ASCII 49)
$foo += 1; // $foo is now an integer (2)
$foo = $foo + 1.3; // $foo is now a double (3.3)
$foo = 5 + "10 Little Piggies"; // $foo is an integer (15)
$foo = 5 + "10 Small Pigs"; // $foo is an integer (15)
If you think the last two expressions in the above example look a little strange, please see the "String Conversion" section. If you wish to force a variable to be evaluated as a fixed type, see the "Casting" section. If you wish to change the type of a variable, please see the description of the function "settype()".
Determine the type of a variable
Because PHP determines the types of variables itself and generally casts them as needed, the type of a particular variable is not always obvious. PHP includes functions to find out the type of this variable. These functions are gettype(), is_long(), is_double(), is_string(), is_array(), and is_object().
Type casting
Type coercion in PHP is roughly the same as in C language: write the required type in parentheses in front of the variable to be coerced.
PHP code
The code is as follows
$foo = 10; // $foo is an integer
$bar = (double) $foo; // $bar is a double precision number
The following coercion methods are allowed: (int), (integer) - coerce to integer (real), (double), (float) - coerce to double precision (string) - coerce to string (array) - coerce to Array (object) – Coerced to an object. Note that tabs and spaces are allowed within parentheses, so the following statements are equivalent: $foo = (int) $bar; $foo = (int) $bar;
String conversion
When a string is evaluated as a numeric value, its result and type are determined as described below. If this string contains the characters '.', 'e', or 'E', it is treated as a double type variable, otherwise it is treated as an integer. The value of this string is determined by the prefix. If the string begins with any valid numeric data, then the numeric data is the value on which the string is evaluated. Otherwise, the value is zero. Valid numeric data follows the following notation, followed by one or more digits (which may include a decimal point), followed by an optional exponent. The exponent is formed by one or more digits followed by 'e' or 'E'.
PHP code
The code is as follows
$foo = 1 + "10.5"; // $foo is a double precision number (11.5)
$foo = 1 + "-1.3e3"; // $foo is a double precision number (-1299)
$foo = 1 + "bob-1.3e3"; // $foo is an integer (1)
$foo = 1 + "bob3"; // $foo is an integer (1)
$foo = 1 + "10 Small Pigs"; // $foo is an integer (11)
$foo = 1 + "10 Little Piggies"; // $foo is an integer (11);
// This string includes the character 'e'
Identifier
Operator:
1) Assignment operator: =
2) Arithmetic operators: +, -, *, /, % (modulo)
3) Connection operator: ., no matter what the operand is, it is treated as String, and the result returns String
4) Combined Assignment Operators: +=, *=, /=, -=, %=, .=
5) Automatically Incrementing and Decrementing:
(1) $variable+=1 ⇔$variable++; $variable-=1 ⇔$variable-, just like the c language, do other operations first, then ++ or -
(2)++$variable, -$variable, first ++ or -, then do other operations
6) Comparison operator:
= = (left side equals right side),! = (left side is not equal to right side),
= = = (the left side is equal to the right side, and the data type is the same),
>=, >, <, <=
7) Logical operators: || or, && and, xor (when one and only one of the left and right sides is true, return true), !
A reference table
Operator (Arithmetic Operators) Operator
Symbol Description
Description Example
Case Result
Result
+ Addition
Plus sign x=2
x+2 4
- Subtraction
Minus sign x=2
5-x 3
*Multiplication
Multiplication sign x=4
x*5 20
/ Division
Division sign 15/5
5/2 3
2.5
% Modulus (division remainder)
Find the modulus (remainder) 5%2
10%8
10%2 1
2
0
++ Increment
Add x=5
x++ x=6
-- Decrement
Decrement x=5
x-- x=4
Assignment Operators
Assignment Operators
Operator
Symbol Example
Case Is The Same As
Equivalent to
= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
%= x%=y x=x%y
Comparison Operators
Comparison Operators
Operator
Symbol Description
Detailed description Example
Case
== is equal to
Equal to 5==8 returns false
!= is not equal
Not equal to 5!=8 returns true
> is greater than
Greater than 5>8 returns false
< is less than
Less than 5<8 returns true
>= is greater than or equal to
Greater than or equal to 5>=8 returns false
<= is less than or equal to
Less than or equal to 5<=8 returns true
Logical Operators
Logical Operators
Operator
Symbol Description
Description Example
Case
&& and
with x=6
y=3
(x < 10 && y > 1) returns true
|| or
or x=6
y=3
(x==5 || y==5) returns false
! not
Not x=6
y=3
!(x==y) returns true
Other operators:
Ternary operator, error suppression operator, execution operator, array operator, type operator
Expression before operator "?"
If an expression containing a binary operator appears before the "?" of the ternary operator "? :", then a pair of parentheses should be added to the expression. For example:
(x >= 0) ? x : -x;
Let’s look at a simple one? Number expression example
The code is as follows
$a='http://www.zhutiai.com/zhuti/c7/';
echo $a?'true':'false';
The output result is trur;
See you again
if( $a )
{
echo 'true';
}
else
{
echo 'false';
}