博主信息
博文 12
粉丝 0
评论 0
访问量 9298
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php基础知识02函数
sea
原创
524人浏览过

关于函数的基础知识

函数声明与调用

  1. function fnArea() {
  2. return 20.5;
  3. }
  4. echo fnArea();

参数的传递方式

  • 按值传递参数
  1. function fnArea($pi,$r){
  2. return $pi * $r * $r;
  3. }
  4. echo fnArea(3.14,10);
  • 按引用传递参数
  1. function fnArea(&$pi) {
  2. $pi ++;
  3. }
  4. $mypi = 3.14;
  5. fnArea($mypi); //传递的实参必须是变量
  6. echo $mypi; //4.14,pi就像mypi的影子,$pi的数据是和$mypi对应的
  • 可变参数
    传入的实参不确定,不设置形参,通过提供的函数获取实参
    • func_num_args() 返回参数个数
    • func_get_arg(索引) 返回参数列表的某一项
  1. function fnList() {
  2. $count = 0;
  3. for ($i = 0; $i < func_num_args(); $i++) {
  4. $count += func_get_arg($i);
  5. }
  6. return $count;
  7. }
  8. echo fnList(1,2,3); //6,这里通过将传入的参数累加
  • 默认参数
    实参数量少于形参数量,通过设置默认形参
  1. function fnArea ($r, $pi=3.14) { //位置不能动,仅只能在右边设值
  2. return $pi * $r * $r;
  3. }
  4. echo fnArea(10);

作用域

  • 局部作用域
    • 函数内部的变量称为局部变量,传递过来的形参,函数内部声明的变量
    • 外部无法访问函数内部的局部变量,仅可以在函数内部访问
  1. function fnList($name) {
  2. $count = 1;
  3. echo $name . '第' . $count . '次访问</br>';
  4. }
  5. fnList('sea');
  6. echo $count; // Notice: Undefined variable: count 报错
  7. echo $name; // Notice: Undefined variable: name 报错
  • 全局作用域
    • 在函数外部声明的变量可以在函数内部使用,在 php 中需要手动开启
    • 使用 global 关键字的变量,在函数内部对此变量进行赋值,随着更改而更改,是同一个变量
  1. $count = 10;
  2. function fnList($name) {
  3. global $count;
  4. echo $name . '第' . $count . '次访问</br>';
  5. $count++;
  6. }
  7. fnList('sea');
  8. echo $count; //11
  • 静态变量
    • 静态变量会使函数被调用多次时,内部的这个变量不会被销毁
    • 此变量的作用域不改变,还是在函数内部
  1. function fnList($name) {
  2. static $count = 1;
  3. echo $name . '第' . $count . '次访问</br>';
  4. $count++;
  5. }
  6. fnList('sea'); //sea第1次访问
  7. fnList('sea'); //sea第2次访问
  8. fnList('sea'); //sea第3次访问
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学