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
php常用Output和ptions/Info函数集介绍
Jun 19 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 PHP
实例介绍PHP的Reflection反射机制
Aug 05 PHP
php将12小时制转换成24小时制的方法
Mar 31 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
PHP文件上传操作实例详解
Sep 27 PHP
PHPExcel 修改已存在Excel的方法
May 03 PHP
PHP程序员学习使用Swoole的理由
Jun 24 PHP
PHP单例模式模拟Java Bean实现方法示例
Dec 07 PHP
Laravel框架搜索分页功能示例
Feb 01 PHP
Yii框架实现对数据库的CURD操作示例
Sep 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
用PHP产生动态的影像图
2006/10/09 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
VsCode新建VueJs项目的详细步骤
2017/09/23 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
Python入门之modf()方法的使用
2015/05/15 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
Unix/Linux开发面试题
2016/08/16 面试题
暑期培训随笔感言
2014/03/10 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
聊一聊python常用的编程模块
2021/05/14 Python
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL