PHP学习笔记-PHP语言基础3
转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/50968247
本文出自:【顾林海的博客】
前言
大清早没什么事做,距离上班时间还早,就先把PHP的笔记做下吧,之前报了驾校,就练了几次车,马上要科目二了,感觉危险啊00。
函数
在开发过程中,经常要重复做某种操作,如数据查询、字符操作等,如果每个模块的操纵都要重新输入一次代码,不仅程序员头痛,而且对于后期维护有较大的影响。使用PHP函数即可解决这些问题。
定义和调用函数
函数,就是将一些重复使用的功能写在一个独立的代码块中,在需要时单独调用。创建函数的基本语法格式为:
function fun_name($str1,$str2...$strn){fun_body;
}
- function:为声明自定义函数时必须使用到的关键字
- fun_name:为自定义函数的名称。
- str1...str1...strn:为函数的参数。
- fun_body:为自定义函数的主体,是功能实现部分。
当函数被定义好后,所要做的就是调用这个函数,调用函数的操纵十分简单,只需要引用函数名并赋予正确的参数即可。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?phpheader("Content-Type:text/html; charset=gb2312");function example($num){return "$num * $num =".$num*$num;}echo example(10);
?></body>
</html>
输出结果为: 10 * 10 =100
在函数间传递参数
在调用函数时,需要向函数传递参数,被传入的参数称为实参,而函数定义时的参数为形参。函数间参数传递的方式有按值传递、按引用传递和默认参数3种方式。
按值传递方式
将实参的值赋值到对应的形参中,在函数内部的操作针对形参进行,操作的结果不会影响到实参,即函数返回后,实参的值不会改变。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html; charset=gb2312");
function example($num){$num=$num*2+2;echo "\$num=".$num."<p>";
}
$num=1;
example($num);
echo "\$num=$num"?></body>
</html>
输出结果:
$num=4
$num=1
按引用传递方式
按引用传递就是将实参的内存地址传递给形参。这时,在函数内部所有对形参的操作都会影响到实参的值。函数返回后,实参的值会发生变化。引用传递方式就是函数定义时在形参前加“&”符号。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html; charset=gb2312");
function example(&$num){$num=$num*2+2;echo"函数内:\$num=".$num;
}
$num=1;
example($num);
echo"<p>函数外:\$num=$num";?></body>
</html>
运行结果:
函数内:$num=4
函数外:$num=4
默认参数(可选参数)
可选参数,可以指定某个参数为可选参数,将可选参数放在参数列表末尾,并且指定其默认值为空。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html; charset=gb2312");
function values($price,$tax=""){$price=$price+($price*$tax);echo"价格:$price<br>";
}
values(100,0.25);
values(100);
?></body>
</html>
运行结果:
价格:125
价格:100
从函数中返回值
通常,函数将返回值传递给调用者的方式使用关键字return或return()函数。return的作用是将函数的值返回给函数的调用者,即将程序控制权返回到调用者的作用域。如果在全局作用域使用return关键字,那么将终止脚本的执行。
变量函数
PHP支持变量函数,下面通过一个实例介绍变量函数的具体应用。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php header("Content-Type:text/html; charset=gb2312"); function come(){ echo"来了<p>"; } function go($name="jack"){ echo"$name 走了<p>"; } function back($string){ echo"又回来了 ,$string<p>"; } $func="come"; $func();//使用变量函数来调用函数come() $func="go"; $func("Bill"); $func="back"; $func("Tom"); ?></body>
</html>
运行结果:
来了
Bill 走了
又回来了 ,Tom
可以看到,变量函数的调用时通过改变变量名来实现的,通过在变量名后面加上一对小括号,PHP将自动寻找与变量名相同的函数,并且执行它。如果找不到对应的函数,系统就会报错。这个技术可用于实现回调函数和函数表等。
对函数的引用
函数间参数传递中的按引用传递的方式可以修改实参的内容。引用不仅可用于普通变量、函数参数,也可作用于函数本身。对函数引用,就是对函数返回结果的引用。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php header("Content-Type:text/html; charset=gb2312"); function &example($tmp=0){ return $tmp; } $str=&example("examp"); echo $str."<p>"; ?></body>
</html>
运行结果:
examp注意:和参数引用传递不同,对函数的引用必须在两个地方都使用“&”符,用来说明返回的是一个引用。
取消引用
当不在需要引用时,可以取消引用使用unset()函数,它只是断开了变量名和变量内容之间的绑定,而不是销毁变量内容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php header("Content-Type:text/html; charset=gb2312"); $num=1234;//声明一个整型变量 $math=&$num;//声明一个对变量$num的引用$math echo "\$math is:".$math."<br>";//输出引用$math unset($math);//取消引用$math echo "\$math is:".$math."<br>";//再次输出引用 echo "\$num is:".$num;//输出原变量 ?></body>
</html>
运行结果:
$math is:1234
$math is:
$num is:1234
PHP学习笔记-PHP语言基础3相关推荐
- PHP学习笔记-PHP语言基础2
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/50959797 本文出自:[顾林海的博客] 前言 这几天因为公司的变动, ...
- rust学习笔记-rust语言基础
rust语言基础 rust语言的优点 c/c++ 性能好,但是类型系统和内存都不太安全. java/c#, 有GC,内存安全有很多优秀的特性,但性能不行. Rust:安全,无需GC,易于维护 rust ...
- PHP学习笔记-PHP语言基础1
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/50951976 本文出自:[顾林海的博客] 前言 "合抱之木, ...
- MySQL学习笔记_8_SQL语言基础复习
SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...
- 学习笔记3-C语言-基础
C语言简介 发展史:BCPL -> new B -> C -> Minix -> Linux -> gcc C语言诞生: 1970年~1973年,在肯.汤姆逊和丹尼斯.里 ...
- nltk和python的关系_NLTK学习笔记(一):语言处理和Python
目录 nltk资料下载 import nltk nltk.download() 其中,download() 参数默认是all,可以在脚本里面加上nltk.download(需要的资料库) 来进行下载 ...
- JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- 菜鸟学习笔记:Java基础篇6(数组、字符串)
菜鸟学习笔记:Java常用类(数组.字符串) 数组 概述 数组的定义 二维数组 数组查找和排序 查找 排序 数组运用--字符串 不可变字符序列(String) 可变字符序列(StringBuilder ...
- 菜鸟学习笔记:Java基础篇3(面向对象思想、程序执行过程内存分析、面向对象重要概念)
菜鸟学习笔记:Java面向对象篇上 Java面向对象的思想 Java程序执行过程内存分析 Java垃圾回收机制 构造方法 方法重载(overload) static关键字 this关键字 Java面向 ...
最新文章
- 关卡设计快速入门_6. 执行构建过程
- linux 错误 ttyname failed: Inappropriate ioctl for device 解决方法
- 深入理解XGBoost:分布式实现
- Elementui select 设置点击事件,在Change事件前触发
- JavaMVC之JSON
- 大数据杀熟,是真的吗?
- Ubuntu 16.04 - 64bit 解压 rar 报错 Parsing Filters not supported
- 如何使用Mac的屏幕时间功能限制访问网站?
- android获取手机联系人信息(电话,邮箱,姓名,头像)
- Code For Better 谷歌开发者之声——Google Play
- PHP字符串函数 查找字符位置函数
- 软件开发人员如何提高个人和团队工作效率
- 计算机控制面板设置密码,如何设置修改电脑的开机密码
- 【专业课程】网络协议分析与安全
- 2022茶艺师(中级)国家题库模拟考试平台操作
- 小程序通过三元运算符设置样式
- ArcGIS地理数据库简介
- Java面试题交流群
- Word代做,线上兼职,月入过万
- 【nginx 扩容及常用模块扩展】