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

 更新时间:2016年09月11日 10:08:22   作者:onestopweb  
这篇文章主要介绍了PHP入门教程之自定义函数用法,结合实例形式分析了php关于自定义函数的创建、返回值、参数、调用方法以及全局变量、魔法常量的使用等相关技巧,需要的朋友可以参考下

本文实例讲述了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基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

  • 解决ajax+php中文乱码的方法详解

    解决ajax+php中文乱码的方法详解

    本篇文章是对ajax+php中文乱码的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 自制PHP框架之设计模式

    自制PHP框架之设计模式

    本文是自制PHP框架的第三篇,我们主要来讲解下PHP的设计模式的使用,本文我们一起来学习PHP中最常用的三种设计模式:单例设计模式、工厂设计模式和观察者设计模式。
    2017-05-05
  • php array_key_exists() 与 isset() 的区别

    php array_key_exists() 与 isset() 的区别

    这篇文章主要介绍了php array_key_exists() 与 isset() 的区别的相关资料,需要的朋友可以参考下
    2016-10-10
  • PHP堆栈调试操作简单示例

    PHP堆栈调试操作简单示例

    这篇文章主要介绍了PHP堆栈调试操作,结合简单实例形式分析了php使用debug_backtrace()函数进行堆栈调试操作方法,需要的朋友可以参考下
    2018-06-06
  • PHP实现SQL语句格式化功能的方法

    PHP实现SQL语句格式化功能的方法

    这篇文章主要介绍了PHP实现SQL语句格式化功能的方法,基于github上开源代码实现的SQL语句格式化功能,非常简单实用,需要的朋友可以参考下
    2017-07-07
  • PHP在线打包下载功能示例

    PHP在线打包下载功能示例

    这篇文章主要介绍了PHP在线打包下载功能实现方法,结合实例形式分析了php打包下载的实现流程与相关注意事项,需要的朋友可以参考下
    2016-10-10
  • PHP 写文本日志实现代码

    PHP 写文本日志实现代码

    PHP 写文本日志实现代码,需要的朋友可以参考下。
    2010-05-05
  • golang与php实现计算两个经纬度之间距离的方法

    golang与php实现计算两个经纬度之间距离的方法

    这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下
    2016-07-07
  • php实现的debug log日志操作类实例

    php实现的debug log日志操作类实例

    这篇文章主要介绍了php实现的debug log日志操作类,结合实例形式分析了php针对日志的相关操作技巧,包括php数组、字符串及文件的写操作等用法,需要的朋友可以参考下
    2016-07-07
  • php学习笔记之面向对象编程

    php学习笔记之面向对象编程

    一个php初学者的一个学习笔记的面向对象编程实例,有需要学习的朋友可参考下,脚本之家也更新了很多大家可以查阅下
    2012-12-12

最新评论