Basic Tutorial: Distinguishing Confusing Functions in PHP_PHP Tutorial

WBOY
Release: 2016-07-13 17:37:01
Original
787 people have browsed it

Today I saw that Caterpillar made a distinction between empty strings and NULL (http://bbs.phpchina.com/thread-99574-1-2.html), and I feel that I don’t know the basics. Solid little birds (such as me) are very helpful. It was late at night, and on a whim, I checked a lot of "authoritative information" and wrote an article and posted it here to refresh the basic knowledge with everyone. Of course, my title was not It’s not rigorous, and the content is just a personal summary. If there are any deficiencies, experts are welcome to add more. Without further ado, the text is as follows:

1.The difference between echo and print

The functions of echo and print in PHP are basically the same (output), but there are subtle differences between the two. There is no return value after echo output, but print has a return value, and it returns false when its execution fails. Therefore, it can be used as a normal function. For example, after executing the following code, the value of variable $r will be 1.
Code:

$r = print "Hello World";


This means that print can be used in some complex expressions, but echo cannot. However, because the echo statement does not require any value to be returned, the echo statement in the code runs slightly faster than the print statement.

2.The difference between include and require

The functions of include() and require() are basically the same (include), but there are some differences in usage. include() is a conditional inclusion function, while require() is an unconditional inclusion function. For example, in the following code, if the variable $a is true, the file a.php will be included:
Code:

if($a){
include("a.php");
}


And require() is different from include(). Regardless of the value of $a, the following code will include the file a.php into the file:
Code:

if($a){
require("a.php");
}


In terms of error handling, use the include statement. If an include error occurs, the program will skip the include statement. Although the error message will be displayed, the program will continue to execute! But require will give you a fatal error.
Of course, we can also understand Qifen literally: require means a very strong request or request.

3.require_once() and include_once() statements

I’m off topic, because they look similar. Simple require_once() and include_once() statements correspond to require() and include() statements respectively. The require_once() and include_once() statements are mainly used when multiple files need to be included, which can effectively avoid the error of repeated definition of functions or variables caused by including the same piece of code.

4. The difference between empty string () and NULL

Both empty strings and NULL in PHP are stored with a value of 0, but their types are different. You can try echo gettype(); and echo gettype(NULL); and you will find the difference in their printouts. It is string and NULL, and of course 0 is also easy to confuse. You can try echo gettype(0); print the type and you will find that the type of 0 is integer (integer). It can be seen that string (), NULL and 0 are " "Equal" but not equal types.

5.!The difference between isset and empty

We can understand from the literal meaning: empty is to determine whether a variable is "empty", while isset is to determine whether a variable has been set. But there is one thing you must pay attention to here: when the value of a variable is 0, empty considers the variable to be equal to empty, which is equivalent to no setting. For example, when we detect the $id variable, when $id=0, we use empty and isset to detect whether the variable $id has been configured. Both will return different values: empty thinks it is not configured, and isset can get the value of $id. , see the example below:
Code? :

$id=0;
empty($id)?print "I am empty":print "I am $id ."; //Result: I am empty
!isset($id )?print "I am empty":print "I am $id.";//Result: I am 0


6. The difference between == (equal) and === (equal)

Review the difference between the fourth empty string ("") and NULL above, let's look at another example:
Code:

== NULL;
=== NULL;

After running it, you will find that the first one is true, and the second one is false! It can be seen that == only compares whether the values ​​are equal, while === not only compares the values, but also compares the types, which is more strict.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/486605.htmlTechArticleToday I saw that the caterpillar made a distinction between empty strings and NULLs (http://bbs. phpchina.com/thread-99574-1-2.html), I feel it is very helpful for little birds (like me) who do not have solid basic knowledge...
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template