Blogger Information
Blog 16
fans 2
comment 0
visits 20107
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP之初识函数
肖傲的博客
Original
744 people have browsed it

1、php函数

1.1函数的声明

  1. //函数声明语法:
  2. // function 函数名称的标识符(参数列表){
  3. // 函数体
  4. // }

1.2函数的命名

函数命名规范:

  • 函数名应该代表其功能
  • 函数的名称应该以字母或者下划线开头且不能用数字开头
    1. function show(){}
    2. function _show(){}

1.3函数的调用

  1. < ?php
  2. // 定义函数
  3. function show() {
  4. echo '学习不刻苦,不如卖红薯!';
  5. }
  6. // 调用
  7. show();
  8. ?>

2、函数的类型

2.1自定义函数

用户自己定义的函数

  1. <?php
  2. // 定义函数
  3. function write_msg() {
  4. echo 'hello PHP!';
  5. }
  6. write_msg(); //调用函数
  7. ?>

2.2系统定义函数

  1. <?php
  2. // 返回不同数的反余弦
  3. echo (acos(0.5) .'<br>');
  4. //返回不同数的绝对值:
  5. echo (abs(5.5) .'<br>');
  6. //返回随机整数。
  7. echo (rand() .'<br>');
  8. ?>

2.3可变函数

  1. <?php
  2. function show($argc) {
  3. echo $argc, '<br>';
  4. }
  5. // 将函数名保存到变量中
  6. $str='show';
  7. $str('学习不刻苦,不如卖红薯!');
  8. ?>

2.4匿名函数

匿名函数就是没有名字的函数也叫具名函数和闭包。

  1. <?php
  2. //将一个没有函数名的函数赋值给一个变量
  3. $show=function () {
  4. echo '学习不刻苦,不如卖红薯!';
  5. };
  6. $show();
  7. ?>

3、函数的返回值

函数必须要有返回值,且只能返回单一的值,可以通过以下方法返回函数值:

3.1通过字符串拼装

  1. <?php
  2. function demo1(): string
  3. {
  4. $color = '红色';
  5. $fruit = 'apple';
  6. return $color . $fruit;
  7. }
  8. echo demo1();
  9. ?>

3.2通过数组返回

  1. <?php
  2. function demo1(): array
  3. {
  4. $color = '红色';
  5. $fruit = 'apple';
  6. return ['color'=>$color ,'fruit'=>$fruit];
  7. }
  8. print_r(demo1());
  9. ?>

3.3通过json返回字符串

  1. <?php
  2. function demo1(): string
  3. {
  4. $color = '红色';
  5. $fruit = 'apple';
  6. return json_encode(['color'=>$color ,'fruit'=>$fruit]);
  7. }
  8. echo demo1();
  9. print_r(json_decode( demo1(), true));
  10. ?>

3.4:通过序列化方式返回字符串

  1. <?php
  2. function demo1(): string
  3. {
  4. $color = '红色';
  5. $fruit = 'apple';
  6. return serialize(['color'=>$color ,'fruit'=>$fruit]);
  7. }
  8. echo demo1();
  9. print_r(unserialize( demo1()));

4、函数中的参数

4.1值参数,为默认

默认情况下,参数的传递是值传递

  1. <?php
  2. // 默认参数8
  3. $num=8;
  4. function fun($args) {
  5. $args=88;
  6. }
  7. // 默认参数值传递
  8. fun($num);
  9. echo $num;

4.2引用参数

引用参数需要在前面加取地址符&

  1. <?php
  2. $num=8;
  3. // 引用参数
  4. function fun(&$args) {
  5. $args=88;
  6. }
  7. fun($num);
  8. echo $num;

4.3默认参数

  1. <?php
  2. // 有参数的必须写到没有默认参数的后面
  3. function fun($name,$age=30,$address='不确定') {
  4. echo "姓名:{$name}<br>";
  5. echo "年龄:{$age}<br>";
  6. echo "地址:{$address}<br>";
  7. echo '<hr>';
  8. }
  9. fun('老黄');

4.4剩余参数
  1. <?php
  2. // 参数前面加...
  3. function fun($name,$age,...$favorite) {
  4. echo '姓名:'.$name,'<br>';
  5. echo '年龄:'.$age,'<br>';
  6. print_r($favorite);
  7. echo '<hr>';
  8. }
  9. fun('老王',33);
  10. fun('老黄',30,'牛排','北京烤鸭','德州扒鸡');

3、回调函数

  1. <?php
  2. $arr = array(1,3,5,7,9);
  3. function fun($num)
  4. {
  5. // 数组中的每个值乘以3
  6. return($num*3);
  7. }
  8. // 将函数作用到数组中的每一个值
  9. print_r(array_map("fun",$arr));

4、函数的命名空间

  1. <?php
  2. // 命名空间
  3. namespace ns1 {
  4. function show(){
  5. echo '代码敲烂,月薪过万!';
  6. }
  7. }
  8. // 在全局中访问
  9. namespace {
  10. echo ns1\show();
  11. }


总结:了解的函数的声明和调用。也熟悉了函数类型,就是对函数的使用掌握不是熟练,特别是异步编程中的回调函数不是很明白。

Correcting teacher:GuanhuiGuanhui

Correction status:qualified

Teacher's comments:写的很好!回调函数暂时不理解,不用太过纠结,后面老师会详细讲的。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post