博主信息
博文 35
粉丝 0
评论 0
访问量 30792
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php函数,class
手机用户311660634
原创
889人浏览过
  1. <?php
  2. // 函数
  3. // 函数的申明,int说明参数是要整数类的。如果需要Return的值有除了整数外的字符,
  4. // 需要在sum()这里加上‘:string'
  5. function sum(int $a, int $b){
  6. return $a + $b;
  7. }
  8. // 函数的调用
  9. echo sum(20, 50);
  10. // 如果需要参数太少,可在申明函数的时候,给参数一个默认值。如function sum($a, $b=null)
  11. // 如果参数过多,可以用'...$参数名'如:function sum(...$args)
  12. // 如果想引用函数内的值,可在申明函数的时候,在参数前加&
  13. function he(&$a){
  14. return $a += 10;
  15. }
  16. $a = 10;
  17. echo he($a);
  18. // 此时$a在全局中的值经过了函数作用,现在就是20。不在是之前申明的10
  19. echo $a . "\n";
  20. function fn1()
  21. {
  22. return ['name'=>'zhulaoshi','email'=>'zhulaoshi@php.cn'];
  23. }
  24. // 用解构语法
  25. // [$name, $email]= fn1();
  26. ['name'=>$name,'email'=>$email]= fn1();
  27. echo "$name ( $email ) ";
  28. // 回调
  29. function add($a,$b,$c){
  30. return array_sum([$a, $b, $c]);
  31. }
  32. // 回调调用有两个 call_usrr_func_array 和 call_user_func,推荐使用call_user_func_array
  33. // 因为call_user_func能做的call_user_func_array都能做
  34. echo call_user_func_array('add', [10,20,30]);
  35. // 类与对象
  36. class test{
  37. // public是公开成员
  38. public string $name;
  39. // private 这是私有成员,只能类中访问,类外不可见
  40. private int $age;
  41. private int $gz;
  42. // __construct 是构造方法,在类实例中能自动调用。两个下滑杠的是魔术方法,用户不能调用,只能PHP调用
  43. public function __construct($name, $age,$gz){
  44. $this->name = $name;
  45. $this->age = $age;
  46. $this->gz = $gz;
  47. }
  48. // 属性重载, 拦截外部的非法属性访问
  49. // __get()获取器,当获取一个不存在或无权限访问的属性时触发
  50. public function __get($name){
  51. if($name === 'age')
  52. return $this->$name;
  53. }
  54. // __set必须有两个参数(属性名,新值)
  55. public function __set($name,$value){
  56. if ($name === 'gz')
  57. $this->$name += $value;
  58. }
  59. private function hello($a, $b, $c)
  60. {
  61. return <<< DATA
  62. $this->name :
  63. 工资($this->gz)
  64. 年龄($this->age)
  65. DATA;
  66. }
  67. // 普通方法重载: __call()
  68. // 静态方法重载: __callStatic()
  69. // $name: 方法名称, $arguments: 参数数组
  70. public function __call($name, $arguments)
  71. {
  72. if ($name === 'hello') {
  73. return <<< DATA
  74. $this->name :
  75. 工资($this->gz)
  76. 年龄($this->age)
  77. DATA;
  78. }
  79. if ($name === 'sum') {
  80. return array_sum($arguments);
  81. }
  82. }
  83. }
  84. $obj = new test('老师', 40,5000);
  85. echo $obj->age;
  86. echo $obj->gz = 2000;
  87. echo $obj->hello('a', 'b', 'c');
批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

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