Maison > développement back-end > tutoriel php > Guide d'apprentissage PHP-Chapitre 8 (1)

Guide d'apprentissage PHP-Chapitre 8 (1)

黄舟
Libérer: 2023-03-04 07:12:02
original
985 Les gens l'ont consulté

Définition et application des fonctions

Points clés de ce chapitre

2 Utilisation des fonctions PHP intégrées

2 Parcourir le manuel des fonctions en ligne

2 Fonctions définies par l'utilisateur

2 Conseils sur les prix : paramètres variables, appels de référence et fonctions variables


Tout langage de programmation possède une sorte de capacité de traitement d'abstraction de programme (l'abstraction procédurale consiste à nommer un certaine section du code du programme afin qu'elle puisse être utilisée lors de l'écriture d'autres sections du code du programme). Certains langages de script n'ont pas cette capacité et, d'après notre expérience, cela peut rapidement rendre ingérable un code complexe côté serveur.


Le mécanisme utilisé par PHP pour assurer ce traitement abstrait est une fonction. Il existe en fait deux types de fonctions en PHP, l'une déjà intégrée au langage par les développeurs PHP et l'autre définie par chaque programmeur PHP.


Dans ce chapitre, nous examinons comment utiliser le grand nombre de fonctions fournies par PHP, puis apprenons à définir vos propres fonctions. Heureusement, il n'y a aucune différence entre utiliser des fonctions intégrées et définir les vôtres.


Utilisation de fonctions

La syntaxe de base pour utiliser (ou appeler) des fonctions est la suivante :


function_name(expression_1, expression_2,…,expression_n)

Il se présente sous la forme d'une liste d'opérations de saisie (appelées paramètres de fonction) suivies de parenthèses et de virgules séparées par le nom de la fonction. Selon la définition spécifique, la fonction appelante ne peut prendre aucun paramètre ou peut apporter plusieurs paramètres en même temps.


Lorsque PHP rencontre un appel de fonction, il évalue d'abord chaque expression de paramètre, puis utilise ces valeurs comme entrée de la fonction. Une fois la fonction exécutée, la valeur de retour (s'il existe une valeur de retour) est le résultat de l'expression de fonction entière.


Les exemples répertoriés ci-dessous sont tous des méthodes d'appel valides des fonctions intégrées de PHP :


sqtr(9) //fonction racine carrée, le résultat est "3 》

rand(10,10 10) //Renvoie une valeur comprise entre "10" et "20"

strlen("Ceci a 22 caractères") //Valeur de retour "22"

pi() //Renvoie la valeur approximative de p


Ces fonctions sont appelées avec respectivement les paramètres 1, 2, 1 et 0.

Valeurs de retour et effets secondaires

Chaque appel de fonction est une expression PHP (comme les autres expressions). Il n'y a que deux raisons d'inclure des fonctions dans le code de votre programme : obtenir la valeur de retour, ou pour avoir des effets secondaires.

La valeur de retour de la fonction est la valeur de l'opération de la fonction. Vous pouvez utiliser cette valeur comme le résultat de l'évaluation de toute autre opération. Par exemple, vous pouvez l'attribuer à une variable comme suit :

$my_pi = pi(

Ou, vous peut l'intégrer dans une expression de calcul complexe, comme indiqué ci-dessous :


$approx = sprt($approx)* sqrt($approx)


fonction La formule peut également être utilisé pour effectuer divers effets secondaires, notamment l'écriture de données dans des fichiers, des opérations de base de données et l'affichage du contenu dans une fenêtre de navigateur. Il est possible d'utiliser des rappels et des effets secondaires en même temps. Par exemple, nous utilisons souvent une fonction avec des effets secondaires et renvoyons une valeur en même temps pour vérifier si la fonction s'exécute normalement

.

Le résultat de la fonction peut être de n'importe quel type, et le type tableau est généralement utilisé comme une fonction qui renvoie plusieurs valeurs.


Manuel des fonctions


L'architecture de PHP est conçue de manière très intelligente, ce qui facilite son extension par d'autres développeurs. Le langage PHP original lui-même est facile à comprendre et très flexible. La plupart des fonctions PHP existent dans un grand nombre de fonctions intégrées. Cela signifie que les développeurs sont libres d'ajouter de nouvelles fonctions intégrées et de contribuer à PHP, ce qui est formidable car cela ne modifie aucune partie de PHP dont les utilisateurs peuvent dépendre.


Bien que ce livre couvre de nombreuses fonctions intégrées et que l'explication de certaines d'entre elles soit plus détaillée que le manuel en ligne, http://www.php.net fournit Le manuel est également un outil important source de référence pour les informations sur les fonctions. Dans ce livre, nous développerons dans une certaine mesure les sujets que nous souhaitons extraire, mais le contenu du manuel PHP reste la référence la plus complète sur tous les aspects de PHP. Même si nous espérons maintenir ce livre à jour avec les futures versions de PHP, le guide en ligne fournira les dernières informations sur les nouvelles fonctionnalités de PHP, y compris celles qui sont encore en développement. Il est donc très utile de jeter un œil au site officiel de PHP et aux différentes ressources proposées en ligne lorsque vous avez le temps.


Bien que les informations suivantes soient correctes au moment de la finalisation de ce livre (la deuxième édition a été rééditée en 2002). Cependant, certains détails peuvent être obsolètes ou ne plus être applicables en raison de versions mises à jour ou d'une réorganisation du manuel en ligne.


Si vous souhaitez rechercher des manuels en ligne, vous pouvez accéder au site Web http://www.php.net et sélectionner l'option "documentation" dans la barre de navigation supérieure droite. Cela vous redirigera vers un répertoire contenant différents formats et. lien vers les informations du manuel d'utilisation. Ce que nous voulons voir, c'est le manuel annoté (actuellement lié à l'option Afficher en ligne sur la page Documentation), qui permet aux utilisateurs de publier leurs propres données d'annotation sur chaque page. [Attention : le système d'annotation manuelle n'est pas l'endroit idéal pour poster des questions ! Si vous avez des questions sur son utilisation, vous pouvez consulter la section liste de diffusion, qui se trouve dans l'onglet « support » de www.php.net, ou vous référer à l'Annexe D de ce livre sur les ressources PHP. Le système d'annotation manuelle est un endroit où les utilisateurs doivent utiliser leurs propres mots pour expliquer et faire des commentaires après l'avoir compris. C'est en effet une façon pour nous de contribuer. Cela pourrait aussi devenir une version officielle à l'avenir. C'est une excellente façon de contribuer, et c'est aussi un excellent endroit pour signaler les confusions et les problèmes possibles, mais tout est en « anglais » ! ]

La majeure partie du manuel d'utilisation est du matériel de test pour les fonctions, et chaque fonction intégrée a une page de description distincte. Chaque page commence par le nom de la fonction et une description sur une seule ligne, puis une déclaration d'en-tête de fonction de style C (expliquée dans la section suivante), suivie d'une description légèrement plus longue, peut-être d'un exemple ou deux, et ensuite (dans le manuel Notes) sont des commentaires et des rapports d’opinion des utilisateurs.


En-têtes du manuel

Pour ceux qui ne sont pas familiers avec les en-têtes de fonctions du langage C, le tout début du manuel des fonctions peut prêter à confusion. Le format de base est :

return-type function-name(type argl,type2 arg2,…);

Il indique que la fonction attendue renvoie une valeur de type valeur, un nom de fonction et un paramètre d'attente. types, etc

Ce qui suit est une description de base de l'en-tête :

string substr (string string,int startl [,int length]);

Cela signifie que la fonction substr renverra un String et attend une chaîne et deux entiers comme paramètres. En fait, les crochets des deux côtés de length indiquent que ce paramètre est facultatif, donc lors de l'appel de substr, vous pouvez apporter une chaîne string et un entier int, ou une chaîne string et deux entiers int.

Contrairement au C, les types de paramètres déclarés dans ces en-têtes manuels ne sont pas strictement nécessaires. Si vous appelez substr avec un nombre comme argument, aucune erreur ne se produira ; PHP convertit le premier argument en chaîne avant de commencer à exécuter la fonction. Cependant, le type de paramètre reflète l'intention initiale du créateur de la fonction. De plus, il est préférable d'utiliser la fonction selon les types spécifiés dans le manuel, ou d'avoir une compréhension suffisante des questions de conversion de type, afin de garantir ce qui est attendu. résultat.

De manière générale, le nom de type utilisé dans les manuels de fonctions est l'un des six types de base, ou leurs alias : integet (ou int), double (ou float, real), Boolean , string, array, object, ressource et NULI. De plus, vous pouvez voir les types de vide et mixtes. La fonction de type Viod ne renvoie aucune valeur et le type de paramètre mixte signifie que les paramètres peuvent être de n'importe quel type.

Manuel de la fonction de requête

Quelle est la meilleure façon de vérifier les informations sur une fonction dans le manuel ? Cela dépend principalement de votre curiosité et du type de pièce qui vous intéresse ? La question la plus courante concernant les fonctions est :

Je souhaite utiliser la fonction X, comment dois-je l'utiliser ?

Je dois accomplir une certaine tâche Y. Existe-t-il une fonction qui peut m'aider à accomplir cette tâche ?

Pour le premier cas, la version complète du manuel en ligne propose une requête automatique basée sur le nom de la fonction. Sous la barre de navigation en haut à droite, le mode de recherche par défaut de la zone de texte « Rechercher » est le nom de la fonction, et une fois la fonction trouvée, la page Web qui affiche la fonction sera affichée (vous pouvez également sélectionner d'autres objets de recherche, y compris l'intégralité de la liste de diffusion du site Web, c'est un bon endroit pour effectuer une recherche lorsque vous ne connaissez pas le nom de la fonction dont vous avez besoin, mais vous pouvez deviner le nom approximatif de la fonction dont vous avez besoin).

Si vous le recherchez dans le deuxième cas, il est préférable d'utiliser la structure d'organisation hiérarchique de la Function Reference (Funcrion Reference, un des articles du manuel PHP), qui est divisée en 108 chapitres . Par exemple, la fonction substr mentionnée précédemment se trouve dans la section « Fonctions de chaîne » de la section « En-têtes de la documentation ». Vous pouvez parcourir la liste des chapitres dans la référence des fonctions pour sélectionner le chapitre qui correspond le mieux à la tâche que vous essayez d'accomplir. Ou, si vous connaissez le nom d'une fonction qui peut être dans le même domaine que le travail en cours, vous pouvez directement appuyer sur le bouton Quick Ref pour vous connecter au chapitre concerné.

Fonctions définies par l'utilisateur

Les fonctions définies par l'utilisateur ne sont pas nécessaires en PHP. Vous pouvez également créer des sites Web utiles en utilisant uniquement des structures linguistiques de base et un grand nombre de fonctions intégrées. Cependant, si vous constatez que le contenu de votre code de programme devient de plus en plus long et qu'il devient de plus en plus difficile à comprendre et à gérer, cela signifie que vous devriez penser à convertir une partie de votre code de programme en fonctions.

Qu'est-ce qu'une fonction ?

Une fonction est une manière d'écrire un programme qui enveloppe un bloc de code de programme et lui donne un nom. Cela facilite l'utilisation future du bloc de code de programme avec une seule ligne de code de programme. Si lors de l'écriture d'un programme, le bloc de code du programme est utilisé à de nombreux endroits, la fonction est le moyen le plus efficace, mais même si elle n'est utilisée qu'une seule fois, la création et l'écriture de la fonction aideront la structure du programme, car Peut rendre votre code de programme plus lisible.

Syntaxe de définition de fonction

Une fonction peut être définie sous la forme suivante :

fonction nom-fonction($argument1, $argument2,..)

{

statement1; 🎜>Le mot spécial "fonction"

Le nom donné à la fonction

La liste des paramètres de la fonction ($ variables de symbole séparées par des virgules)

Le corps de la fonction (une série d'instructions narratives entre accolades)

Comme les noms de variables, les noms de fonctions doivent également être composés de lettres anglaises, de chiffres et de traits de soulignement (_), et ils ne peuvent pas démarrer avec un numéro. Contrairement aux noms de variables, les noms de fonctions sont convertis en minuscules avant le stockage, de sorte que les noms de fonctions peuvent être considérés comme insensibles à la casse.

Ce qui se passe lorsqu'une fonction définie est appelée est brièvement décrit comme suit :

1. PHP recherchera la fonction par son nom (si la fonction n'a pas été définie, un message d'erreur s'affichera).

2. PHP remplace les variables (ou "paramètres formels") de la liste des paramètres dans la définition de la fonction par les valeurs des paramètres (ou "paramètres réels").

3. Exécutez l'énoncé narratif du corps de la fonction. Si l'exécution atteint l'instruction "return" dans l'instruction, la fonction arrête l'exécution et renvoie la valeur spécifiée. Sinon, la fonction sera exécutée jusqu'à la dernière étape et aucune valeur ne sera renvoyée.

Soyez prudent, les programmeurs expérimentés peuvent remarquer que la description précédente implique un appel par valeur et non un appel par référence ). Dans la dernière section de ce chapitre, nous expliquerons leurs différences et démontrerons comment appeler par référence.

Exemple de définition de fonction

À titre d'exemple fictif, imaginez le code de programme suivant. Le but est de nous aider à décider du nombre de boissons en bouteille à acheter (peut-être dans le futur, super). Les centres commerciaux utilisent déjà des navigateurs Web sans fil destructibles pour vérifier les prix des achats comparatifs).

$litres_1 = 1,0;

$prix_1 = 1,59;

$litres_2 = 1,5;

$prix_2 = 2,09; $per_liter_1 = $price_1 / $liters_1;

$per_liter_2 = $price_2 / $liters_2;

if($per_literl<$per_liter2)

print("La première offre c'est mieux ! < BR >");

else

print("La deuxième offre est meilleure! < BR >"); Les comparaisons de types sont visibles partout dans le code de programmation de nos pages Web, et nous aimerions en faire une fonction réutilisable. Une façon de procéder consiste à le réécrire selon l'exemple :

function better_deal ($amount_1,$price_1,

$amount_2,$price_2)

{

$per_amount_1 = $price_1/$amount_1;

$per_amount_2 = $price_2/$amount_2;

retour($per_amount_1<$per_amount_2);

}

$litres_1 = 1,0 ;

$prix_1 = 1,59 ;

$litres_2 = 1,5 ;

$prix_2 = 2,09 ; $price_1,

$liters_2,$price_2))

print(“La première offre est meilleure !< BR >”);

else

price("La deuxième offre est meilleure !< BR >");

La fonction better_deal extrait les trois lignes d'opérations arithmétiques et de comparaisons dans le code de code du programme précédent, qui prend quatre nombres comme paramètres et renvoie la valeur d'une expression booléenne. Comme toute autre valeur booléenne, elle peut être intégrée dans la partie test d’une instruction if. Bien que cette fonction soit plus longue que le code original du programme, la réécrire de cette manière présente deux avantages : vous pouvez utiliser cette fonction à plusieurs autres endroits du programme (en économisant le nombre de lignes de l'ensemble du programme si vous décidez de modifier le calcul). méthode, il vous suffit de modifier un seul endroit.

Il existe une autre alternative. Si la comparaison des prix consiste à imprimer quelle offre est la plus rentable, vous pouvez directement mettre la déclaration d'affichage de sortie dans la fonction, comme indiqué ci-dessous :

fonction. print_better_deal($montant_1,$prix_1,

$montant_2,$prix_2)

{

$par_montant_1 = $prix_1 / $montant_1

$per_amount_2 ; = $price_2 / $amount_2;

if($per_amout_1<$per_amount_2)

print("La première offre est meilleure !< BR >");

else

print(« La deuxième offre est meilleure !< BR > » );

}

$liters_1 = 1.0;

$price_1; = 1.59;

$liters_2 = 1.5;

$price_2 = 2,09; $price_2);

La première fonction utilise l'instruction return pour transmettre un résultat booléen, qui est ensuite utilisé dans un test avec une instruction if. La deuxième fonction n'a pas d'instruction return car elle complète son effet secondaire : afficher du texte dans le navigateur de l'utilisateur. Quand la dernière instruction de cette fonction
Une fois l’instruction exécutée, PHP exécute ensuite l’instruction suivante suivant l’appel de fonction.

Comparaison des paramètres formels et des paramètres réels

Dans l'exemple précédent, les paramètres passés à la fonction sont des "variables", mais ce n'est pas forcément le cas. Les arguments réels (c'est-à-dire les arguments de l'appel de fonction) peuvent être n'importe quelle expression pouvant être évaluée. Dans notre exemple, nous pouvons transmettre des nombres à l'appel de fonction au lieu de variables, comme suit :

Print_bettet_deal(1.0,1.59,1.5,2.09); Notez également que, dans cet exemple, il existe deux cas où la variable du paramètre réel a le même nom que le paramètre formel (tel que $price_1) et le paramètre réel et le paramètre formel ont des noms différents (tels que $liters_1 et $amount_1 sont différents). dans la section suivante. Il n'y a aucun problème avec les deux méthodes. Les noms de paramètres formels de la fonction existent de manière totalement indépendante en dehors de la fonction, même si la fonction s'appelle

Ce qui précède est le guide d'apprentissage PHP - Chapitre 8 (1), pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn)


.
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal