Cet article partage principalement avec vous l'analyse des opérateurs et des processus PHP, dans l'espoir d'aider chacun à avoir une meilleure compréhension des opérateurs et des processus PHP.
Opérateur de comparaison
运算数 1 类型 | 运算数 2 类型 | 结果 |
---|---|---|
null 或string | string | 将 NULL 转换为 "",进行数字或词汇比较 |
bool 或null | 任何其它类型 | 转换为 bool,FALSE |
object | object | 内置类可以定义自己的比较,不同类不能比较,相同类和数组同样方式比较属性(PHP 4 中),PHP 5 有其自己的说明 |
string,resource 或number | string,resource 或number | 将字符串和资源转换成数字,按普通数学比较 |
array | array | 具有较少成员的数组较小,如果运算数 1 中的键不存在于运算数 2 中则数组无法比较,否则挨个值比较(见下例) |
object | 任何其它类型 | object 总是更大 |
array | 任何其它类型 | array 总是更大 |
Opérateur ternaire
Expression (expr1) ? (expr2) : (expr3) La valeur lorsque expr1 est évaluée à TRUE est expr2, et la valeur lorsque expr1 est évalué à FALSE, expr3 est égal à.
Depuis PHP 5.3, la partie médiane de l'opérateur ternaire peut être omise. L'expression expr1 ? : expr3 renvoie expr1 si expr1 est évaluée à TRUE et expr3 sinon.
Opérateur de contrôle d'erreur
PHP prend en charge un opérateur de contrôle d'erreur : @. Lorsqu'il est placé avant une expression PHP, tout message d'erreur que cette expression peut produire est ignoré.
Si vous utilisez set_error_handler() pour définir une fonction de gestion des erreurs personnalisée, elle sera toujours appelée, mais cette fonction de gestion des erreurs peut (et devrait) appeler error_reporting(), et cette fonction a @ renverra 0.
Si activé fonctionnalité track_errors, toutes les informations d'erreur générées par l'expression sont stockées dans une variable. Cette variable est écrasée à chaque erreur, alors vérifiez-la le plus tôt possible si vous souhaitez l'utiliser.
<?php /* Intentional file error */ $my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'"); // this works for any expression, not just functions: $value = @$cache[$key]; // will not issue a notice if the index $key doesn't exist. ?>
Remarque : L'opérateur @ n'est valable que pour les expressions. Une règle simple pour les débutants est la suivante : si vous pouvez obtenir une valeur quelque part, ajoutez-la au début de l'opérateur @. Par exemple, vous pouvez le mettre dans des variables, des fonctions et inclure avant les appels, les constantes, etc. Il ne peut pas être placé avant la définition d'une fonction ou d'une classe, ni être utilisé dans des structures conditionnelles telles que if et pour chaque etc.
include
Le fichier inclus est d'abord recherché en fonction du chemin donné par le paramètre. Si aucun répertoire (uniquement le nom du fichier) n'est donné, il sera recherché en fonction. Recherchez dans le répertoire spécifié par include_path. Si le fichier n'est pas trouvé sous include_path, include recherchera finalement dans le répertoire où se trouve le fichier de script appelant et dans le répertoire de travail actuel. La construction include émet un avertissement si le fichier n'est pas trouvé à la fin ; ceci est différent de require, qui émet une erreur fatale.
Lorsqu'un fichier est inclus, le code qu'il contient hérite de la portée variable de la ligne d'inclusion. À partir de ce moment, toutes les variables disponibles dans le fichier appelant sur cette ligne sont également disponibles dans le fichier appelé. Cependant, toutes les fonctions et classes définies dans les fichiers include ont une portée globale.
Recommandations associées :
Introduction détaillée aux opérateurs et opérateurs PHP
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!