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 相关文章推荐
动态新闻发布的实现及其技巧
Oct 09 PHP
php为什么选mysql作为数据库? Mysql 创建用户方法
Jul 02 PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
yii框架通过控制台命令创建定时任务示例
Apr 30 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
php取得字符串首字母的方法
Mar 25 PHP
php实现求相对时间函数
Jun 15 PHP
header与缓冲区之间的深层次分析
Jul 30 PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
详解php与ethereum客户端交互
Apr 28 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
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
js中匿名函数的N种写法
2010/09/08 Javascript
js 获取时间间隔实现代码
2014/05/12 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
解决DataFrame排序sort的问题
2018/06/07 Python
Python基于sklearn库的分类算法简单应用示例
2018/07/09 Python
20行python代码实现人脸识别
2019/05/05 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
职高毕业生自我鉴定
2013/10/21 职场文书
机电一体化自荐信
2013/12/10 职场文书
大学生旷课检讨书
2014/01/22 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
烹调加工管理制度
2014/02/04 职场文书
亮化工程实施方案
2014/03/17 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
七一晚会主持词
2015/06/29 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang