1. The difference between post and get request methods:
1. The request forms are different: the get request is to send the data angle to the server at the end of the URL, and the post method is to send the data to the server in the background in the form of a separate message.
2. The sending length is different: the maximum data size of the get request is 2k, and the post request is theoretically unlimited, and its size can be set in the configuration file.
3. Security: Because the get method data is appended to the URL and sent to the server, therefore, the security of get is low.
4. Application scenarios: get is suitable for use when the data is simple and security requirements are not high. Otherwise, use post.
2. Declaration and use of constants:
define('PAI1', 3.1415) const PAI2 = 3.1415; echo PAI1, PAI2; define('^_^', ‘笑脸’); //此种形式不能用echo ^_^来输出此变量,用一个函数即可 echo constant('^_^');
3. Scope of variables:
Personally, I think there are three types of scopes in php
1. External scope refers to the scope outside the function body within a script. Variables declared in this area are available externally, but cannot be used internally, that is, within the function.
2. Internal scope refers to the scope within a script and within the function body. Variables declared in this area are available internally but not visible externally.
3. Super global scope can be used anywhere in any script. For example, it can be used inside or outside the test function of the a.php script. It is also applicable in the b.php script.
How to make a variable available internally when declared externally or when declared externally when declared internally? --global key
<span style="white-space:pre"> </span>$v1 = 'global v1'; func1(); function func1(){ //echo $v1; //未定义 global $v1; echo 'function inner vars v1 :', $v1; } echo '以下是在函数内部声明外部使用的<span style="font-family: Arial, Helvetica, sans-serif;">示例</span><br />'; function func2(){ global $v2; //注释后,在全局内输出$v2会出错 $v2 = 'function inner v2'; } func2(); echo $v2;
% operator: the sign of the calculation result is consistent with the sign of the first operand
& reference operator:
<span style="white-space:pre"> </span>$v3 = 1; $v4 = &$v3; unset($v3); //unset后会把变量给销毁掉,不能访问$v3 //echo $v3; //unset再次访问$v3会报错
The same function as && and ||, but with a lower priority (lower than =)
function func1(){ return false; } $a = func1() or die('func1 执行返回值为假'); $a = func1() || die('func1 执行返回值为假');
It can be said that wherever one can be used, the other can also be used. However, there is still a very important difference between the two:
In the echo function, multiple strings can be output at the same time, while in the print function, only one string can be output at the same time. At the same time, the echo function does not require parentheses, so the echo function is more like a statement than a function.
Neither echo nor print are functions, but language constructs, so parentheses are not necessary. The difference between them is:
(1) Echo can output multiple strings, like the following:
echo 'a','b','c';
If you insist on adding parentheses, note that writing echo ('a','b','c'); is wrong. It should be written as:
echo ('a'),('b'),('c');
It has no function-like behavior, so it cannot be used in the context of a function
(2) print can only output a string, it can behave like a function, for example, you can use it as follows:
$ret = print 'Hello World';
So it can be used in more complex expressions.
In addition, the efficiency of echo is relatively fast ~
The echo command is different from the print command
When used, echo can output multiple variables separated by commas, while print can only output one variable
There is a difference between the echo function and the print function.
echo() has no return value, the same as the echo command
Print() has a return value, success returns 1, false returns 0. Therefore, print is slower than echo, but it can be applied to more complex expressions.
6. The difference between isset and empty
The isset function is often used in development to determine whether the variable exists or whether memory has been allocated.
The empty function not only determines whether the value is empty, but also returns false when the secondary variable is undefined, that is, when the memory is not allocated. In other words, the empty function must not be empty if isset is true.
7. switch can support integers, floating point types, strings, arrays, and Boolean types, allowing no default
<span style="white-space:pre"> </span>//$bol = true; //$bol = false; $bol = [1, 2, 3]; switch($bol){ case 0: echo '0<br />'; break; case 10: echo '10<br />'; break; case -1: echo '-1<br />'; break; case [1,2,3]: //数组 echo 'empty array<br />'; break; case 0: echo '0<br />'; break; } //当为bool类型时,true在case数值为真时输出,false在case后数值为假时输出,可以运行代码,可以下