博客列表 >函数的返回值和参数,匿名函数和变量的作用域

函数的返回值和参数,匿名函数和变量的作用域

Giesen?
Giesen?原创
2021年08月09日 13:40:09475浏览
  1. // 只会返回一个return 且第一个return后面代码不会执行
  2. function demo()
  3. {
  4. return sha1('wwwphpxnccsdsds');
  5. return md5('wwwphpcn');
  6. return 1==1;
  7. return new StdClass;
  8. return array('12','45');
  9. return 88.88;
  10. return 'nihao';
  11. return true;
  12. }
  13. echo '<hr>';
  14. var_dump(demo());
  15. // 多值返回
  16. // 数组
  17. function arr(){
  18. return ['status'=>1,'msg'=>'登录成功'];
  19. }
  20. echo '<hr>';
  21. print_r(arr());
  22. // 对象
  23. function demo2()
  24. {
  25. return new class()
  26. {
  27. public $name = 'chloe';
  28. public $gender = '女';
  29. };
  30. }
  31. $obj = demo2();
  32. var_dump($obj);echo '<hr>';
  33. echo $obj->name;
  34. echo $obj->gender;
  35. echo '<hr>';
  36. // 参数
  37. function mx($name){
  38. echo $name;
  39. }
  40. mx('刘星');
  41. // 封装函数
  42. // 编写代码时 将需要随时更改的变量 由函数的参数进行传入 方便代码的调试和修改
  43. // 函数的参数可以设置默认的参数 建议 默认参数设置在最右边
  44. function createTable(int $rows,int $cols,string $content,string $bgColor=blue) :string
  45. {
  46. $table = "<table border ='1' cellspacing='0' bgColor='$bgColor'>";
  47. for ($i=0; $i < $rows; $i++) {
  48. $table .= "<tr>";
  49. for ($j=0; $j < $cols ; $j++) {
  50. $table .= "<td>$content</td>";
  51. }
  52. $table .= "</tr>";
  53. }
  54. $table .= '</table>';
  55. return $table;
  56. }
  57. echo createTable(4,3,'你好','red');
  58. // 匿名函数
  59. // 临时创建的一个没有名字的函数
  60. // 命名函数可以全局识别 匿名函数不能
  61. $closure = function($name){
  62. return "欢迎{$name}来到php中文网做客<br>";
  63. };
  64. echo $closure('胡歌');
  65. // 变量作用域
  66. // 函数外部变量可以通过参数形式传入内部
  67. // 全局变量如果想在自定义函数内部使用则必须使用 global /$GLOBALS关键字声明
  68. // 自定义函数内部变量在退出声明变量的函数时,变量和值会被清除
  69. $one = 200;
  70. $two = 300;
  71. $itemName = 'iphone 12 pro max 256g';
  72. $itemPrice = 12585;
  73. function add(int $a,int $b):string
  74. {
  75. return $a+$b;
  76. }
  77. // var_dump(add(1,2));
  78. var_dump(add($one,$two));
  79. function getItemInfo_pro()
  80. {
  81. // global $itemPrice,$itemName;
  82. return sprintf('今日主推产品:%s, 商品价格: %d<br>',$GLOBALS['itemName'],$GLOBALS['itemPrice']);
  83. }
  84. echo getItemInfo_pro();
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议