Home >Backend Development >PHP Tutorial >Detailed explanation of commonly used operators and operation symbols in PHP_PHP Tutorial
/*Operation symbols (PHP) operation symbols
*
* According to the operation symbol function, it is divided into:
* 1. Arithmetic operators + - * / % ++ --
* 2. String operators. Connection operators
* 3. Assignment operator = += -= *= /= %= .=
* 4. Comparison operators > < >= <= == === != <> !==
* Comparison operators---conditional operators---relational operators
* There is only one result after comparison: boolean true false
* === When comparing, not only the content is required to be the same, but also the type is required to be the same
* !== When comparing, the contents are not the same, and the types are also required
* 5. Logical operators && or and || or or ! or not
* Logical operators can only operate on bool type values and return bool type values
* 6. Bitwise operators & | ^ ~ << >> >>>
* 7. Other operators ? : `` @ => -> :: & $
* `` Used to execute the operating system kernel
* @ Used to block error messages
* It is recommended to use "()" to change the priority of expressions
*
* % has two purposes: integer division operation; control range, do not use decimals or negative numbers
* % Convert the numbers on both sides of the operator to integers and then divide them to find the remainder.
*/
//Use % symbol to determine leap year
$year=2011;
if(($year%4==0 && %year%100!=0) || $year%400=0)
{
echo "run nian";
}
else
{
echo " not run nian";
}
// ++ --Usage of symbols
$a=10;
$a++; //$a=$a+1; Use variables first, then increment by 1
++$a; //$a=$a+1; First increment by 1, then use variable
$a--; //$a=$a-1; Use the variable first, then decrement it by 1
--$a; //$a=$a-1; Decrement it by 1 first, then use the variable
echo $a; //The result is 10
//++ -- Differences in operations
$a=10;
$b=$a++;//b=10,a=11
$c=--$b;//c=9,b=9
$d=$c++ + ++$c; //d=20,c=11
$e=$d-- - --$d; //d=18,e=2
echo $d;
//Usage of string operator .
$name="tom";
$age=27;
$height=1.75;
echo "My name is: {$name} My age is: {$age} My height is: {$height} meters
";
echo 'My name is: '.$name.' My age is: '.$age.' My height is: '.$height.'m'.'
';
echo "$age=".$age; //$age=27
echo "My name is: {$name} My age is: {$age} My height is: {$height} meters
";//Usage of assignment operator
$a=10;
$a+=10; //$a=$a+10;
$a-=10; //$a=$a-10;
$a*=10; //...
$a/=10; //...
$a%=10; //$a=$a%10;
$a.="abc";//$a=$a."abc";
echo $a;
$str='';
';
$str.=''; ';
$str.=''; ';
$str.='
$str.='
$str.='
echo $str;//Output a table//Comparison operator
var_dump(15>6);//return bool(true)
$a=15;
if(15==$a)
{
echo "a=15";
}
else
{
echo "a!=15";
}
//Use of logical operators
var_dump(true && true);//true
var_dump(true && false);//false
var_dump(true || false);//true
var_dump(!true);//false
var_dump(!false);//true
//Determine username and password
$username="admin";
$password="123456";
$email="290080604@qq.com";
if($username=="admin" && $password="123456")
{
echo "Username and password are correct";
}
if($username=="" || $password=="" || $email=="")
{
echo "None of them can be empty";
}
//bit operator
$a=20; //00010100
$b=30; // 00011110
/*
* 20 00010100
* 30 00011110 &
*----------------------------------
* 00010100
*
*/
$c=$a & $b;
echo $c;
/*Additional, & | can also be used for logical operations
* Short circuit problem of && and ||:
* When && is performing an operation, if the previous number is false, then whether the following number is true, the entire expression is false, so the following operands will not be executed;
* ||During operation, if the previous number is true, then whether the following number is false, the entire expression is true, so the following operands will not be executed;
* However, when & or | are operated, both sides will be executed
*/
$a=10;
if($a>5 || $a++<100){}
echo $a;//output 10
$b=10;
if($b>5 | $b++<100){}
echo $b;//output 11
/*
The concept of bit: A bit is composed of 8 binary numbers (for example, 00000000),
A byte consists of 8 bits, so there are 32 binary numbers.
Original code: The highest bit uses 0 to represent positive numbers and 1 to represent negative numbers
+7 00000111
-7 10000111
Negative code: If a number is positive, its complement is the same as the original code;
If a number is negative, the sign bit is 1, and the remaining bits are the inversion of the original code;
+7 00000111
-7 11111000
+0 00000000
-0 11111111
Complement code: If a number is positive, its complement and inverse code are the same as the original code
If a number is negative, its complement = one's complement + 1, and the highest overflow bit is removed
-7 Original code 10000111 Reverse code 11111000
Complement code 11111001
Given the complement of a negative number, convert it to decimal.
1. Let me disprove everyone first
2. Convert it to decimal number
3. Add the negative sign and subtract 1.
Example: complement code 11111010
4+1=5
-5-1=-6
Bit operators:
& Bitwise AND |Bitwise OR ^Bitwise XOR ~Bitwise negation
Example: Bitwise AND 01101101
00100101
Conclusion: Only 1 1 is 1.
Bitwise OR 01101101
|00110111
01111111
Conclusion: Only 0 0 is 0.
Bitwise XOR 01101101
^00110111
01011010
Conclusion: It is 1 when there are only 1 0 or 0 1. (It can also be understood as 1 (true) in different states)
Bitwise negation ~00110111
11001000
Conclusion: Change 0 to 1 and 1 to 0
Shift operator:
Left shift:<< Signed right shift:>> Unsigned right shift:>>>
Example: Number x x<<2 x>>2 x>>>2
17 00010001 01000100 00000100 00000100
-17 11101111 10111100 11111011 00111011
Conclusion: Positive numbers are padded with 0 when moving left and right, negative numbers are padded with 0 when moved left, signed right is padded with 1, and unsigned is padded with 0
*/
//Use of other operators
$a=10;
$b=$a>5 ? $a : 5;//Ternary operator, if true $b=$a otherwise $b=5
echo $b;
//Use `` to execute operating system shell commands
$str=`ipconfig /all`;
echo '
';<br> echo $str;<br> echo '';
?>
This section lists the various operators used in PHP:
Arithmetic operators
Operator | Description | Example | Results | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+ | Addition | x=2
|
4 | ||||||||||||||||||||||||||||||||
- | Subtraction | x=2 5-x | 3 | ||||||||||||||||||||||||||||||||
* | Multiplication | x=4 x*5 |
20 | ||||||||||||||||||||||||||||||||
/ | Division | 15/5 5/2 | 3 2.5 | ||||||||||||||||||||||||||||||||
% | Modulus (division remainder) | 5%2
10%8 10%2 |
1
|
||||||||||||||||||||||||||||||||
++ | Increment | x=5 x++ |
x=6 | ||||||||||||||||||||||||||||||||
-- | Decrement | x=5 x-- | x=4 |
Assignment operator
运算符 | 说明 | 例子 |
---|---|---|
== | is equal to | 5==8 returns false |
!= | is not equal | 5!=8 returns true |
> | is greater than | 5>8 returns false |
< | is less than | 5<8 returns true |
>= | is greater than or equal to | 5>=8 returns false |
<= | is less than or equal to | 5<=8 returns true |
逻辑运算符
运算符 | 说明 | 例子 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
&& | and | x=6 y=3
| ||||||||||||
|| | or | x=6 y=3 (x==5 || y==5) returns false
|
||||||||||||
! | not | x=6 y=3 |