PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)


Posted in PHP onSeptember 11, 2016

本文实例讲述了PHP自定义函数用法。分享给大家供大家参考,具体如下:

Demo1.php

<?php
  //标准函数,内置函数
  echo md5('123456');
  echo '<br/>';
  echo sha1('123456');
  echo '阅谁问君诵,水落清香浮。';
?>

Demo2.php

<?php
  //创建函数,不要跟系统的内置函数重名
  //函数有个特性,必须调用,才可以执行
  //无参数表示()里面是空的,无返回就是函数的程序里没有 return
  function functionName(){
    echo '我是一个无参数无返回的函数。';
  }
  functionName();
?>

Demo3.php

<?php
  //包含参数无返回值的函数
  //一般来说,写好的函数,就不用修改了
  //变化的一般是传入进去的参数
  function functionArea($radius){
    $area = $radius * $radius * pi();
    echo '半径为'.$radius.'的面积为:'.$area;
  }
  //调用
  functionArea(10);
?>

Demo4.php

<?php
  //包含参数,有返回值
  function functionArea($radius) {
    $area = $radius * $radius * pi ();
    return $area;
  }
  //调用
  //这样子大大提高了函数的灵活性
  //functionArea(20); 整体就得到一个值,在内存里。
  echo '半径为20的面积为:'.functionArea(20);
?>

Demo5.php

<?php
  //包含参数,有返回值
  //这个 $radius = 10,这里的10表示这个参数的默认值
  //如果调用函数没有给函数传一个参数,那么就启用默认值
  function functionArea($radius = 10) {
    $area = $radius * $radius * pi ();
    return $area;
  }
  //调用
  //这样子大大提高了函数的灵活性
  //functionArea(20); 整体就得到一个值,在内存里。
  echo '半径为20的面积为:'.functionArea();
?>

Demo6.php

<?php
  //写一个函数,这里函数要返回三条数据
  function functionInfo($name,$age,$job){
    //$userInfo 是个数组
    //$userInfo = array($name,$age,$job);
    $userInfo[] = $name;
    $userInfo[] = $age;
    $userInfo[] = $job;
    return $userInfo;
  }
  //调用函数
  print_r(functionInfo('一站式做网站',19,'程序员'));
// $arr = functionInfo('一站式做网站',19,'程序员');
// echo $arr[0];
// list($name,$age,$job) = functionInfo('一站式做网站',19,'程序员');
// echo $name.'今年'.$age.'岁了,他还是个'.$job;
?>

Demo7.php

<?php
  //之前的传参,都是按值传参
  $prices = 50;
  $tax = 0.5;
  //这个函数没有任何值出来,目前是按值传参
  //函数里的变量和函数外变量没有任何关系
  function functionPrices(&$prices,&$tax){
    //里面的 $prices 这个变量已经是75
    $prices = $prices + $prices * $tax;
    $tax = $tax * $tax;
    echo $prices;//75
    echo '<br/>';
    echo $tax;//0.25
    echo '<br/>';
  }
  functionPrices($prices,$tax)  ;
  //引用这个概念,我们目前无法掌握,会在OOP时候,重点讲解
  echo $prices;//按值传50,按引用就变成75
  echo '<br/>';
  echo $tax;
?>

Demo8.php

<?php
  //了解全局变量
  //可以将 $a 设置成全局变量
  $a = 5;
  function fa(){
    global $a; //将 $a 设置成为全局变量
    $a = 2;
  }
  fa();
  echo $a;  //2
?>

Demo9.php

<?php
  //使用超级全局变量
  $GLOBALS['a'] = 5;
  function fa(){
    $GLOBALS['a'] = 2;
  }
  fa();
  //echo $GLOBALS['a'] ;
  print_r($GLOBALS['a'] );
?>

Demo10.php

<?php
  //这句话把函数给包含进来
  include 'library/tool.library.php';
  echo functionPi();
?>

Demo11.php

<?php
  //include() 语句包含并运行指定文件。
// include 'Demo1.php';
// include 'Demo1.php';
  //include_once() 语句在脚本执行期间包含并运行指定文件。
  //此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。
// include_once 'Demo1.php';
// include_once 'Demo1.php';  //只包含引用的文件一次
  //include 如果不存在,就告诉你两个警告,然后继续执行
  //require 如果不存放,就直接报错,然后就停止执行
  require 'Demo1.php';
  //我们就推荐使用 require
// require 'Demo1.php';
// require_once 'Demo1.php';
// require_once 'Demo1.php';
  echo '<strong>阅谁问君诵,水落清香浮。</strong>'
?>

Demo12.php

<?php
  //__FILE__
  //魔法常量 -- 这里的常量说白了就是一个值而已
// $file = __FILE__ ; //C:\AppServ\www\Basic7\Demo12.php
// echo $file;
  //所以,一般包含文件的时候,建议采用 __FILE__ 这样速度更快
  echo dirname(__FILE__);//C:\AppServ\www\Basic7
  require (dirname(__FILE__).'\Demo1.php');//C:\AppServ\www\Basic7
  echo __LINE__;
  function ffff(){
    return __FUNCTION__;
  }
  echo '<hr/>';
  echo ffff();
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
在php中取得image按钮传递的name值
Oct 09 PHP
php单件模式结合命令链模式使用说明
Sep 07 PHP
PHP 编程安全性小结
Jan 08 PHP
php 生成随机验证码图片代码
Feb 08 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
php json转换成数组形式代码分享
Nov 10 PHP
PHP单例模式详细介绍
Jul 01 PHP
PHP根据session与cookie用户登录状态操作类的代码
May 13 PHP
PHP中类属性与类静态变量的访问方法示例
Jul 13 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
基于php+MySql实现学生信息管理系统实例
Aug 04 PHP
php array_map()函数实例用法
Mar 03 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 #PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 #PHP
PHP入门教程之数学运算技巧总结
Sep 11 #PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 #PHP
PHP基本语法实例总结
Sep 09 #PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 #PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 #PHP
You might like
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
第十二节 类的自动加载 [12]
2006/10/09 PHP
一个SQL管理员的web接口
2006/10/09 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
Python3处理文件中每个词的方法
2015/05/22 Python
Python的math模块中的常用数学函数整理
2016/02/04 Python
Python深度优先算法生成迷宫
2018/01/22 Python
Python实现Dijkstra算法
2018/10/17 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
市政施工员自我鉴定
2014/01/15 职场文书
企业法人代表任命书
2014/06/06 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
给老师的感谢信
2015/01/20 职场文书
工作失职检讨书
2015/01/26 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
Web应用开发TypeScript使用详解
2022/05/25 Javascript
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers