php函数基本语法之自界说函数

PHP供应了功效强年夜的函数,但这远远知足不了须要,法式模范模范员可以凭证须要自己培植函数。本节就泉源学习培植函数的措施。

我们在现实开发历程当中须要有许多功效都须要重复应用到,而这些重复须要应用到的功效,我们能界说告成能(函数),就尽能够界说告成能(函数)。应用的时间,吼一下它的名字便可。

华夏棋牌那我们来学一下自界说函数的语律例定,语律例定以下:

function 函数名([参数名1[=值1], 参数名2[=值2], 参数名n[=值n]])
{
       函数中的功效体
    [return 前往值]
}

下面的语律例定中发清晰了了以下特点,发生以下语未能划定:

    1.函数以function泉源

华夏棋牌    2.function前面接空格,空格后接函数名

    3.函数名与变量命名规则基本一样,但是不合的是:函数名不分辨年夜小写

华夏棋牌    4.所谓参数着实就是变量

华夏棋牌    5.函数名后接括号,括号内跟参数,参数全都有[](中括号)括起来了,代表参数可填可不填

华夏棋牌    6.假定有参数的话,参数后可以接(=)等号,等号接默许值。参数值也是用[](中括号)括起来的,代表选填

    7.函数后的参数变量,主要功效是把函数体外的变量值,传入函数体内来应用,函数体的变量和函数体外的变量通常是两个不         同的变量。

华夏棋牌    8.函数中的详细功效(功效体)用年夜括号括起来,代表这是一个函数的功效区间

    9.函数可以有前往值也能够或许没有前往值,用[](中括号)括起来的,代表选填。

    10.return后接空格,空格后接前往值,若有return,return后的代码均不推行。

    11.函数的推行没有序次关系,可以在界说处之前的职位挪用

    12.函数不克不及被界说两次,即函数不克不及被重载

切记:你也要多写代码来阻拦实验!

我们可以经由历程实验来一点一点证实这些不雅不雅点。

1. 函数是条狗,那里挪用那里哪,它就随着你走

<?php

function php_cn(){

   echo '我是一条狗';
}

php_cn();
php_cn();
php_cn();
?>

php_cn这个函数,是不是显示出来了三段:我是一条狗?

2函数名只能是字母,数字,下划线的组合,而且之间不克不及网罗空格,数字不克不及放在变量名首位。

<?php
function 1demo(){
}
?>

以上代码会报错。函数命免与变量命名

3. 函数名与变量命名规则一样,然则不合的是:函数名不分辨年夜小写

<?php

function Demo(){

   echo '假定是写代码的须眉,我们须要加倍承当来自家庭的义务<br />';
}

demo();
Demo();
DEMO();

?>

经由历程下面的代码会发现,会显示出来三行:假定是写代码的男我人我们须要加倍承当来自家庭的义务

也就是函数名在挪用的时间不分辨年夜小写。函数可以重复叫它的名字,可以重复推行。也体现了重用的特点。

4. 函数体的参数若是界说了,未传参数,代码会报错

<?php

//界说函数名为test,必须要传入一个参数
function test($hello){


}

test();
?>

你也自己写一段出来尝尝,会不会报错?

5. 函数后的参数假定有默许值,参数可以不填,代码也不会报错

<?php
function test( $arg = 10){

       echo $arg;

}

test();

test(88);

?>

能否是没有报错呀?而且显示了 10和出来了。
诠释,参数假定传了,参数会带入函数中。假定函数没有传参数,会用参数后的默许值。

6. 函数后的参数可以写多个

<?php
function test( $a , $b = 20 , $c = 30){

       echo $a + $b + $c;

}

test( 1 , 2 , 3 );
?>

自己写写下面的代码,我们是不是传入了多个参数?

7. 函数后假定有默许值和无默许值的参数,通常把无默许值的参数写在最前面

之前的第3和第4条实验我们发现:默许值是代表这个参数可以不用传值出来。而没有默许值的话,代码会报错,也就是无默许值的参数是必传的。我们来看看下面的例子:

<?php
function test( $a = 20 , $b = 30 , $c ){

       echo $a + $b + $c;

}

//重点:重点看这一行推行一下
test(  ,  , 8 );
?>

经由历程上例发现推行下面的代码又报错了。也就是下面的语法是不行的。
下面的语法我们欲望的是,参数$a和参数$b我们不传入任何值。参数$c是必须要传出来的,我们传了8。可是PHP的语律例定中禁绝予我们这么写。是以,我们换一种写法,也能到达一样的效果:

<?php
function test( $c , $a = 20 , $b = 30){

       echo $a + $b + $c;

}

//重点:重点看这一行推行一下
test( 8 );
?>

经由历程上例实验年夜家是不是发现,参数$c我传了,代码还没有报错。而参数$a = 20 ,参数 $b = 30 一样带入了代码 $a + $b + $c 了。

8. 函数体的变量与函数体外的变量没有关系

<?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;
?>

华夏棋牌经由历程上例发现:形参、与实参没有变点关系。而函数体内的传出来的形参,再怎样变换,都不会影响实参$hello的现实效果。

9. 函数体中若有return,return 后的代码不推行

<?php

function demo(){

   echo 111;

   return;

   echo 222;

}

demo();
?>

华夏棋牌发现没?——只输入了111。

10. 函数推行完后,return 可把函数体内的值,带带函数体外

<?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. 函数的推行没有序次关系,可以在界说处之前的职位挪用

<?php

demo();
function demo(){

   $str = '爸爸妈妈年岁愈来愈年夜';
   $str .= '年夜多数的孩子都是独生子女,加倍应当负起义务';

   echo $str;
}

demo();
?>

经由历程上例发现,函数在界说之前还是在界说以后都可以挪用。也就是函数可以随便任性职位挪用。

11. 函数不克不及重载

<?php

function demo(){

}

function demo(){

}
//尝尝会报错吗?
?>

经由历程上例发现,报错了,也就是同名函数不克不及被界说两次,否则报错


作业:

华夏棋牌    1.界说一个双层循环,隔行变色的表格

    2.请求这个表格,默许值为10和10,色彩中有一个为默许参数,一个没有默许参数

    3.将表格的字符串return 回去

    

一连学习
||
<?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; ?>
提交重置代码
章节
条记
提问
课件
反映
捐赠

php入门教程之一周学会PHP

  • 推荐课程
  • 议论
  • 问答
  • 条记
  • 课件下载

阿寸

这狗现在还不怎样听我的话

9个月前    添加回复 0

回复

y的小公举

自学的艰辛只需自己知道,若何让学习不再艰辛让学习前进效力

11个月前    添加回复 0

回复

meleeZhao

//输入每个表格 echo '<td>'.$i.'</td>'; //断定能否输入阻拦行标签 if($j==10){ echo '</tr>'; $j=0; } } echo '</ta

1年前    添加回复 0华夏棋牌

回复

meleeZhao

echo '<table border="1">'; for($i= 0;$i<$one;$i++){ if($i%10==0){ if($i%20==0){ echo '<tr>'; }else{

1年前    添加回复 0

回复

meleeZhao

echo '</table>'; } a(100);

1年前    添加回复 0

回复

年夜雨

加油

1年前    添加回复 0华夏棋牌

回复

Wong

一连学习

1年前    添加回复 0华夏棋牌

回复

有何弗成

华夏棋牌1.主要的事说三遍?

1年前    添加回复 0华夏棋牌

回复

为甚么不显示色彩

[最新 Dante 的回复] 谢谢啦,昨晚发现是单引号和双引号的效果。_(¦3」∠)_ 在tr bgcolor那两行外面用了单引号,以是没有剖析出来色彩

时间:3个月前

谁能诠释一下return的用法?

[最新 又白又帅又心爱 的回复] 编程中应用函数的最好明确:http://blog.csdn.net/xiaowu12345678910/article/details/78255055#t4华夏棋牌

时间:1年前

这个作业谁能给点指导华夏棋牌

[最新 卖女孩的小磷寸哟 的回复] 就这样华夏棋牌

时间:1年前

表格的字符串?华夏棋牌

[最新 数据剖析师 的回复] 表格的字符串?-华夏棋牌-万豪棋牌电玩城-微信娱乐棋牌问答-表格的字符串?-华夏棋牌-万豪棋牌电玩城-微信娱乐棋牌问答围不雅不雅一下哦,学习一下。

时间:2年前

为甚么这里不用界说函数的变量类型,话说谁知道你是整形还是字符型?

[最新 数据剖析师 的回复] 为甚么这里不用界说函数的变量类型,话说谁知道你是整形照样字符型?-华夏棋牌-万豪棋牌电玩城-微信娱乐棋牌问答-为甚么这里不用界说函数的变量类型,话说谁知道你是整形照样字符型?-华夏棋牌-万豪棋牌电玩城-微信娱乐棋牌问答围不雅不雅一下哦,学习一下。华夏棋牌

时间:2年前

是随便界说的函数吗?

[最新 数据剖析师 的回复] 是随便界说的函数吗?-华夏棋牌-万豪棋牌电玩城-微信娱乐棋牌问答-是随便界说的函数吗?-华夏棋牌-万豪棋牌电玩城-微信娱乐棋牌问答围不雅不雅一下哦,学习一下。

时间:2年前

Robot-w

华夏棋牌echo '<td>'.($i*10+$j).'</td>';

1星期前  0

函数名与变量命名规则一样,但是不合的是:函数名不分辨年夜小写

2个月前  0

Dante

为甚么我这个代码不显示色彩 <?php function test($color1,$color2="red"){ echo '<table width="800px" border="1px">'; for($i=1;$i<11;$i++){ if($i%2==0){ echo '<tr bgcolor:$color2>'; }else{ echo '<tr bgcolor:$color1>'; } for($j=1;$j<11;$j++){ echo '<td>'.$j.'×'.$i.'='.$i*$j.'</td>'; } echo '</tr>'; } return ; echo '</table>'; } $a=test('green'); echo $a; ?>

3个月前  0

ʘᴗʘ

function 函数名([参数名1[=值1], 参数名2[=值2], 参数名n[=值n]]) { 函数中的功效体 [return 前往值] }

3个月前  0

手机用户238781832

作业没看懂

5个月前  0

城南花已开

<?php echo '<table width="800" border="1">'; function table($color,$color1="red",$row=10,$cell=10){ for($i=0;$i<$row;$i++){ if($i%2==0){ echo "<tr bgcolor='$color1'/>"; }else{ echo "<tr bgcolor='$color' />"; } for($j=0;$j<$cell;$j++){ echo '<td>'.($i.$j).'</td>'; } } return "</table>"; } table(blue); ?>

5个月前  1

JACK.H

函数重视

6个月前  0

捧花人

PHP中函数是不分辨年夜小写的,而变量是分辨年夜小写的。

7个月前  0

土豆没了哟

函数名不分年夜小写,变量名分年夜小写

7个月前  0

No.1

function函数名不分辨年夜小写 function后接空格接参数名(参数就是变量)函数名接([可填可不填]) 函数后的参数变量,主要功效是把函数体外的变量传入函数体内应用,函数体的变量和函数体外的变量通常是不两个不合的变量。 函数中的详细功效(功效体)用年夜括号括起来,代表这是一个函数的功效区间。函数可以有前往值也能够或许没有前往值,用[]括起来的,代表选填。 return后接空格,空格后接前往值,若有return,return后的代码均不推行。函数的推行没有序次关系,可以界说外之前的职位挪用 函数不克不及被界说两次,即函数不克不及被重载。 函数是条狗,那里挪用那里吼

9个月前  0

攀多多

<?php//可以把函数变量统一放在小括号内 function demo(){ $m=0;//好比这个 echo '<table width=800 border="1">'; for($i=0;$i<10;$i++){ if($i%2==0){ echo "<tr>"; } else{ echo '<tr bgcolor="red">'; } for($j=0;$j<10 && $m<100;$j++){ echo '<td>'.$m.'</td>'; $m++; } } echo '</table>'; } echo demo(); ?>

10个月前  0

fighting&it'sme

华夏棋牌前++和后++的明确: 假定有运算:前++是先赋值后运算,尔后++是先运算后赋值。但关于变量而言,岂论是前++和后++都是自己自增1。前--和后- -原理与其类似。

10个月前  0

fighting&it'sme

界说一个双层循环,隔行变色的表格 代码: <?php echo '<table border="1">'; for($i = 1; $i < 10; $i++) { echo $i%2 == 0 ? '<tr bgcolor="#ccc">' : '<tr>'; for($j = 1; $j < 5; $j++) { echo "<td>$i$j</td>"; } echo '</tr>'; } ?> <table>代表表格</table> <tr>代表表格中的一行</tr> <td>代表表格中的一列</td> 'tr'与'td'交成一个单元格 <table>...</table>之间有若干个<tr>,就有若干行 <tr>...</tr>之间有若干个<td>,就有若干列

10个月前  0

fighting&it'sme

华夏棋牌1.函数以function泉源 2.function前面接空格,空格后接函数名 3.函数名与变量命名规则基本一样,但是不合的是:函数名不分辨年夜小写 4.所谓参数着实就是变量 5.函数名后接括号,括号内跟参数,参数全都有[](中括号)括起来了,代表参数可填可不填 6.假定有参数的话,参数后可以接(=)等号,等号接默许值。参数值也是用[](中括号)括起来的,代表选填 7.函数后的参数变量,主要功效是把函数体外的变量值,传入函数体内来应用,函数体的变量和函数体外的变量通常是两个不 同的变量。 8.函数中的详细功效(功效体)用年夜括号括起来,代表这是一个函数的功效区间 9.函数可以有前往值也能够或许没有前往值,用[](中括号)括起来的,代表选填。 10.return后接空格,空格后接前往值,若有return,return后的代码均不推行。 11.函数的推行没有序次关系,可以在界说处之前的职位挪用 12.函数不克不及被界说两次,即函数不克不及被重载

10个月前  0

这个菜鸟是谁-5

1.函数体中若有return,return 后的代码不推行; 2. 函数推行完后,return 可把函数体内的值,带带函数体外;//不懂

10个月前  0

课件暂不供应下载,使命职员正在整理中,前期请多关注该课程~