Maison >développement back-end >Problème PHP >Quelles sont les fonctions et méthodes faciles à confondre en PHP ?

Quelles sont les fonctions et méthodes faciles à confondre en PHP ?

coldplay.xixi
coldplay.xixioriginal
2020-07-18 13:42:472657parcourir

Les fonctions et méthodes qui sont facilement confondues en PHP sont : 1. La différence entre echo et print Il n'y a pas de valeur de retour après la sortie de echo, mais print a une valeur de retour 2. La différence entre include ; et require, [include()] est des fonctions incluses sous condition, tandis que [require()] est incluse de manière inconditionnelle.

Quelles sont les fonctions et méthodes faciles à confondre en PHP ?

Les fonctions et méthodes faciles à confondre en PHP sont :

1. print

Les fonctions d'echo et d'impression en PHP sont fondamentalement les mêmes (sortie), mais il existe encore des différences subtiles entre les deux. Il n'y a pas de valeur de retour après la sortie d'écho, mais print a une valeur de retour et renvoie false lorsque son exécution échoue. Par conséquent, il peut être utilisé comme une fonction normale. Par exemple, après avoir exécuté le code suivant, la valeur de la variable $r sera 1.

Code PHP :

$r = print "Hello World";

Cela signifie que print peut être utilisé dans certaines expressions complexes, mais echo ne le peut pas. Cependant, comme l'instruction echo ne nécessite le renvoi d'aucune valeur, l'instruction echo dans le code s'exécute légèrement plus rapidement que l'instruction print.

2. La différence entre include et require

Les fonctions de include() et require() sont fondamentalement les mêmes (y compris), mais dans l'utilisation, il existe également quelques différences. include() est une fonction d'inclusion conditionnelle, tandis que require() est une fonction d'inclusion inconditionnelle. Par exemple, dans le code suivant, si la variable $a est vraie, le fichier a.php sera inclus :

Code PHP :

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

et require() est différent de include (), quelle que soit la valeur prise par $a, le code suivant inclura le fichier a.php dans le fichier :

Code PHP :

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

En termes de gestion des erreurs, utilisez l'instruction include, si une erreur include se produit, le programme ignorera l'instruction include. Bien que le message d'erreur soit affiché, le programme continuera à s'exécuter mais require vous donnera une erreur fatale.

Bien sûr, nous pouvons aussi comprendre Qifen littéralement : require signifie une demande ou une exigence très forte.

3. Déclarations require_once() et include_once()

Je suis hors sujet, car elles ressemblent à de simples require_once() et include_once ( ) correspondent respectivement aux instructions require() et include(). Les instructions require_once() et include_once() sont principalement utilisées lorsque plusieurs fichiers doivent être inclus, ce qui peut efficacement éviter les erreurs dans les définitions répétées de fonctions ou de variables causées par l'inclusion du même morceau de code.

4. La différence entre une chaîne vide (") et NULL

Les chaînes vides et NULL en PHP sont toutes deux stockées avec une valeur de 0, mais leurs types ne le sont pas. la même chose C'est différent. Vous pouvez essayer echo gettype("); et echo gettype(NULL); et vous constaterez qu'ils impriment respectivement la chaîne et NULL. Bien sûr, 0 est également facile à confondre. Vous pouvez essayer echo gettype(0 ) ;Imprimez le type et vous constaterez que le type de 0 est entier (entier). On peut voir que la chaîne ("), NULL et 0 sont des "valeurs égales" mais pas du même type.

5.!isset La différence avec vide

Nous pouvons comprendre à partir du sens littéral : vide sert à déterminer si une variable est "vide", tandis que isset sert à déterminer si une variable a été défini. Mais il y a une chose qui est absolument nécessaire ici. Remarque : lorsqu'une valeur de variable est 0, vide considère la variable comme étant vide, ce qui équivaut à ne pas être défini. Par exemple, lorsque nous vérifions le $id. variable, lorsque $id=0, utilisez vide et isset pour vérifier si la variable $id est déjà configurée, les deux renverront des valeurs différentes : vide signifie qu'il n'y a pas de configuration, isset peut obtenir la valeur de $id, voir l'exemple ci-dessous. :

Code PHP :

$id=0;
empty($id)?print "我是空的":print "我是$id ."; //结果:我是空的
!isset($id)?print "我是空的":print "我是$id .";//结果:我是0

6. La différence entre == (égal) et === (égal)

Revoyez la quatrième différence entre la chaîne vide ("") et NULL ci-dessus, regardons-en une autre Exemple :

Code PHP :

" == NULL;
" === NULL;

Après l'avoir exécuté, vous constaterez que le premier l'un est vrai, et le second est faux ! On peut voir que == compare uniquement si les valeurs sont égales, et === Il compare non seulement les valeurs, mais compare également les types, ce qui est plus strict

7. La différence entre les fonctions et les méthodes PHP

J'ai toujours pensé que c'était la même chose, jusqu'à ce que je le voie Après avoir lu la documentation thinkphp, il y a des spécifications pour les fonctions. et les méthodes, et je me rends compte que les

les méthodes sont des "fonctions" dans les classes et ne peuvent être appelées que via des objets,

est spécial pour les classes. La méthode statique peut être appelée directement via le nom de la classe. .

Les fonctions habituellement mentionnées doivent être des fonctions dans la portée globale. Après avoir été introduites, elles peuvent être appelées directement n'importe où.

Une distinction simple est : La fonction

existe. indépendamment, c'est-à-dire qu'elle est définie dans la partie orientée processus. La méthode

dépend de la classe, c'est-à-dire que la fonction

est définie dans la partie orientée objet, vous. peut l'utiliser comme implémentation d'algorithme. La méthode

peut être utilisée comme implémentation de logique métier. La méthode de la classe

peut définir les autorisations d'accès et doit être appelée via un objet ou une classe. ; Il est public et peut être utilisé par tout le monde

Recommandations d'apprentissage associées :

Programmation PHP du débutant au compétent

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn