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的类树(支持无限分类)
Oct 09 PHP
在字符串中把网址改成超级链接
Oct 09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
Parse正式发布开源PHP SDK
Aug 11 PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
PHP中explode函数和split函数的区别小结
Aug 24 PHP
PHP数据对象PDO操作技巧小结
Sep 27 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
php对微信支付回调处理的方法
Aug 23 PHP
PHP命名空间定义与用法实例分析
Aug 14 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
python实现中文文本分句的例子
2019/07/15 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
Python Map 函数的使用
2020/08/28 Python
用python对oracle进行简单性能测试
2020/12/05 Python
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
宿舍标语大全
2014/06/19 职场文书
基层党员群众路线教育实践活动个人对照检查材料思想汇报
2014/10/05 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android