PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
作者:onestopweb 发布时间:2023-10-21 05:36:58
标签: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程序设计有所帮助。


猜你喜欢
- 一、RESTful 概述REST(Representational State Transfer)风格是一种面向资源的 Web 应用程序设计
- 用Python求解微分线性方程因为之前用matlab也编写过,所以前不久试着用python写,感觉之间互通点也蛮多的,易理解。题目:稀疏线性
- 仿照常见的那个图片变换flash做的效果,纯js。不过滤镜变换只对应ie,ff只能看到一般的切换。这个js做的效果最早在sina看到,这里把
- 一. 布隆过滤器简介布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别
- 我们用pycharm打开自己写的代码,当多个文件之间有相互依赖的关系的时候,import无法识别自己写的文件,但是我们写的文件又确实在同一个
- 我相信绝大多数小伙伴在自学python时,运用pycharm进行编写程序时发现字体太小不方便进行编写,通常像codeblocks
- 本文实例为大家分享了Python实现滑雪小游戏的具体代码,供大家参考,具体内容如下源码分享:import sysimport cfgimpo
- HTTPS简介HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有
- 1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换. 比如Collections.sort(Lis
- PHP策略模式(Strategy Pattern)策略模式是一种行为设计模式,它允许在运行时选择算法行为的方法。该模式定义了一组算法,将每个
- 1、通过requests.get方法r = requests.get("http://200.20.3.20:8080/job/C
- <script type="text/javascript">/*<![CDAT
- 序言那个猥琐的家伙整天把个U盘藏着当宝,到睡觉了就拿出来插到电脑上。我决定想个办法看他U盘里都藏了什么,直接去抢U盘是不可能的,骗也是不可能
- 原理这里实现的弹窗拦截,是程序不断的监视电脑屏幕,当出现需要拦截的窗口时,自动控制屏幕点击事件关闭。第一步:将需要关闭弹窗的点击位置截图。直
- 目录项目场景:解决方案:概要描述:详细说明:总结:项目场景:使用FreeSql,包含所有的ORM数据库,都会存在这样的问题。在codefir
- 【OpenCV】⚠️高手勿入! 半小时学会基本操作 ⚠️ 图像轮廓概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大.
- 下一代的 web 已经开始上路了,就在这个星期,MySpace 集成了 Google Gears,雅虎发布了新的 BrowserPlus,G
- HTTP头中一般断点下载时才用到Range和Content-Range实体头,Range用户请求头中,指定第一个字节的位置和最后一个字节的位
- 最近老是要为现在这个项目初始化数据,搞的很头疼,而且数据库的Id自增越来越大,要让自增重新从1开始:那么就用下面的方法吧:方法一:如果曾经的
- Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命