Fonction personnalisée de la syntaxe de base de la fonction PHP
PHP fournit des fonctions puissantes, mais cela est loin de répondre aux besoins des programmeurs qui peuvent créer leurs propres fonctions selon leurs besoins. Dans cette section, nous commençons à apprendre à créer des fonctions.
Dans le processus de développement actuel, nous avons besoin de nombreuses fonctions qui doivent être utilisées à plusieurs reprises, et ces fonctions qui doivent être utilisées à plusieurs reprises peuvent être définies comme des fonctions (fonctions) autant que possible ( fonction). Lorsque vous l'utilisez, criez simplement son nom.
Apprenons ensuite les dispositions grammaticales des fonctions personnalisées. Les dispositions grammaticales sont les suivantes :
function 函数名([参数名1[=值1], 参数名2[=值2], 参数名n[=值n]]) { 函数中的功能体 [return 返回值] }
Les caractéristiques suivantes se trouvent dans les dispositions grammaticales ci-dessus, ce qui donne l'expression non spécifiée suivante :
1. La fonction commence par la fonction
2. La fonction est suivie d'un espace, et l'espace est suivi du nom de la fonction
3. Le nom de la fonction et les règles de dénomination des variables sont fondamentalement les mêmes, mais la différence est : nom de la fonction Il n'est pas sensible à la casse
4. Les soi-disant paramètres sont en fait des variables
5. Le nom de la fonction est suivi de parenthèses, et les paramètres sont mis entre parenthèses. Tous les paramètres sont entourés de [] (crochets), ce qui signifie que les paramètres peuvent être renseignés ou non
6. S'il y a des paramètres, les paramètres peuvent être suivis d'un égal. signe (=), et le signe égal est suivi de la valeur par défaut. Les valeurs des paramètres sont également entourées de [] (crochets), représentant un
facultatif. 7. La fonction principale des variables de paramètre après la fonction est de transmettre les valeurs des variables en dehors de la fonction dans le corps de la fonction. à utiliser. Le corps de la fonction Les variables et les variables en dehors de la fonction sont généralement deux variables différentes.
8. La fonction spécifique (corps de la fonction) dans la fonction est placée entre accolades, indiquant qu'il s'agit de la plage de fonctions d'une fonction
9. Une fonction peut avoir une valeur de retour ou aucune valeur de retour, ceux entourés de [] (crochets) représentent des champs facultatifs.
10. Return est suivi d'un espace, et un espace est suivi de la valeur de retour S'il y a un retour, le code après le retour ne sera pas exécuté.
11. Il n'y a pas de relation d'ordre dans l'exécution des fonctions. Vous pouvez l'appeler avant le point de définition
12. Une fonction ne peut pas être définie deux fois, c'est-à-dire qu'elle ne peut pas être surchargée.
N'oubliez pas : vous devez également écrire plus de code pour mener des expériences !
Nous pouvons prouver ces points petit à petit grâce à des expériences.
1. La fonction est comme un chien, partout où on l'appelle, il vous suivra
<?php function php_cn(){ echo '我是一条狗'; } php_cn(); php_cn(); php_cn(); ?>
La fonction php_cn affiche-t-elle trois paragraphes : Je suis un chien ?
2 Le nom de la fonction ne peut être qu'une combinaison de lettres, de chiffres et de traits de soulignement, et ne peut pas contenir d'espaces. Les nombres ne peuvent pas être placés au début du nom de la variable.
<?php function 1demo(){ } ?>
Le code ci-dessus signalera une erreur. Dénomination des fonctions et des variables
3. Les règles de dénomination des fonctions et des variables sont les mêmes, mais la différence est la suivante : les noms de fonctions ne sont pas sensibles à la casse
<?php function Demo(){ echo '如果是写代码的男人,我们需要更加承担来自家庭的责任<br />'; } demo(); Demo(); DEMO(); ?>
Grâce au code ci-dessus, vous constaterez que trois lignes seront affichées : Si c'est un homme qui écrit le code, nous devons prendre plus de responsabilités de la part de la famille
.
C'est-à-dire que le nom de la fonction n'est pas sensible à la casse lorsqu'il est appelé. Une fonction peut voir son nom appelé à plusieurs reprises et être exécutée à plusieurs reprises. Cela reflète également les caractéristiques de la réutilisation.
4. Si les paramètres du corps de la fonction sont définis et qu'aucun paramètre n'est transmis, le code signalera une erreur
<?php //定义函数名为test,必须要传入一个参数 function test($hello){ } test(); ?>
Écrivez vous-même un paragraphe et essayez-le. Est-ce qu'il signalera une erreur ?
5. S'il existe des valeurs par défaut pour les paramètres après la fonction, les paramètres n'ont pas besoin d'être renseignés et le code ne signalera pas d'erreur
<?php function test( $arg = 10){ echo $arg; } test(); test(88); ?>
Aucune erreur n’a-t-elle été signalée ? Et il en a montré 10 et est sorti.
Notez que si des paramètres sont passés, ils seront introduits dans la fonction. Si la fonction ne transmet pas de paramètres, la valeur par défaut après les paramètres sera utilisée.
6. Vous pouvez écrire plusieurs paramètres après la fonction
<?php function test( $a , $b = 20 , $c = 30){ echo $a + $b + $c; } test( 1 , 2 , 3 ); ?>
Écrivez vous-même le code ci-dessus. Avons-nous transmis plusieurs paramètres ?
7. S'il y a des paramètres avec des valeurs par défaut et des valeurs non par défaut après la fonction, les paramètres sans valeurs par défaut sont généralement écrits en premier dans les troisième et quatrième positions avant
À partir de 4 expériences, nous avons constaté que la valeur par défaut signifie que ce paramètre n'a pas besoin d'être transmis. S'il n'y a pas de valeur par défaut, le code signalera une erreur, c'est-à-dire que les paramètres sans valeurs par défaut doivent être transmis. Jetons un coup d'œil à l'exemple suivant :
<?php function test( $a = 20 , $b = 30 , $c ){ echo $a + $b + $c; } //重点:重点看这一行执行一下 test( , , 8 ); ?>
Grâce à l'exemple ci-dessus, nous avons constaté qu'une autre erreur a été signalée lors de l'exécution du code ci-dessus. Autrement dit, la syntaxe ci-dessus ne fonctionnera pas.
Ce que nous espérons dans la syntaxe ci-dessus, c'est que nous ne transmettons aucune valeur pour le paramètre $a et le paramètre $b. Le paramètre $c doit être passé, nous avons passé 8. Mais les règles grammaticales de PHP ne nous permettent pas d'écrire cela. Par conséquent, nous pouvons obtenir le même effet en changeant la méthode d'écriture :
<?php function test( $c , $a = 20 , $b = 30){ echo $a + $b + $c; } //重点:重点看这一行执行一下 test( 8 ); ?>
Grâce à l'exemple d'expérience ci-dessus, avez-vous constaté que j'ai passé le paramètre $c et que le code n'a pas signalé d'erreur. Le paramètre $a = 20 et le paramètre $b = 30 sont également introduits dans le code $a + $b + $c.
8. Il n'y a aucune relation entre les variables dans le corps de la fonction et les variables en dehors de la fonction
<?php //定义变量$hello的值为10 $hello = 10; //函数后的参数(形式上的参数,参数)处写上变量名为$hello function demo( $hello ){ //形参带入了函数体内,函数体内变量$hello 改为了 250 $hello = 250; //输入2个250相加的结果 echo $hello + $hello; } //将函数体外的变量$hello,传入变量的参数处(实际传入的参数,实参),显示出的结果为500 demo($hello); //此处$hello的值输出,依然为10 echo $hello; ?>
Grâce à l'exemple ci-dessus, nous avons constaté qu'il n'y avait aucun changement. relation ponctuelle entre les paramètres formels et les paramètres réels. Quelle que soit la façon dont les paramètres formels passés dans le corps de la fonction changent, cela n'affectera pas le résultat réel du paramètre réel $hello.
9. S'il y a un retour dans le corps de la fonction, le code après le retour ne sera pas exécuté
<?php function demo(){ echo 111; return; echo 222; } demo(); ?>
Avez-vous remarqué ? ——Seul 111 est émis.
10. Une fois la fonction exécutée, return peut amener la valeur du corps de la fonction au corps de la fonction
<?php //定义一条函数狗 function php_cn(){ $foo = 5; $bar = 6; $result = $foo + $bar; //将$result的结果进行返回 return $result; } //调用php_cn()这个函数,$foo和$bar相加的$result就会返回回来给到变量$piao $piao = php_cn(); //输出$piao的结果,果真为11 echo $piao; ?>
11. dans l'exécution des fonctions.
<?php demo(); function demo(){ $str = '爸爸妈妈年龄越来越大'; $str .= '大多数的孩子都是独生子女,更加应该负起责任'; echo $str; } demo(); ?>
peut être appelé avant la définition. Grâce à l'exemple ci-dessus, nous avons constaté que la fonction peut être appelée avant ou après la définition. Autrement dit, la fonction peut être appelée n'importe où.
11. Les fonctions ne peuvent pas être surchargées
<?php function demo(){ } function demo(){ } //试试会报错吗? ?>
Grâce à l'exemple ci-dessus, nous avons constaté qu'une erreur a été signalée, c'est-à-dire que la fonction portant le même nom ne peut pas être définie. deux fois, sinon une erreur a été signalée
Devoir :
1. Définir une boucle double couche et un tableau qui change de couleur toutes les deux lignes
2. Exiger ce tableau, les valeurs par défaut sont 10 et 10, l'une des couleurs est un paramètre par défaut, et l'autre n'a pas de paramètre par défaut
3. Renvoyez la chaîne du tableau