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 clearstatcache()函数详解
Mar 02 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 PHP
php单文件版在线代码编辑器
Mar 12 PHP
PHP、Java des加密解密实例
Apr 27 PHP
分享PHP函数实现数字与文字分页代码
Jul 28 PHP
PHP魔术方法使用方法汇总
Feb 14 PHP
php实现搜索类封装示例
Mar 31 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 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中mysql操作buffer用法详解
2015/03/19 PHP
php查询及多条件查询
2017/02/26 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
JavaScript 应用类库代码
2008/06/02 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
Vue实现穿梭框效果
2020/09/30 Javascript
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python中endswith()函数的基本使用
2015/04/07 Python
python计算圆周率pi的方法
2015/07/11 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
python构建深度神经网络(续)
2018/03/10 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
Python中整数的缓存机制讲解
2019/02/16 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
python 监控logcat关键字功能
2020/09/04 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
《风筝》教学反思
2014/04/10 职场文书
授权收款委托书
2014/09/23 职场文书
2014年残联工作总结
2014/11/21 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
python人工智能human learn绘图可创建机器学习模型
2021/11/23 Python
世界十大狙击步枪排行榜
2022/03/20 杂记
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js