php的基础知识(三)
2018-07-10 00:04:45来源:博客园 阅读 ()
12、函数:
函数的功能:
定义:在真实的项目开发过程中,有些代码会重复利用,我们可以把它提出来,做成公共的代码,供团队来使用,这个我们封装的代码段,就是函数(功能)。
优点:
1、提高代码的利用率。
2、减少开发时间。
3、减少代码冗余。
4、可维护性提高。
5、方便调试代码。
函数的定义格式:
function 函数名(参数1 = 值1,参数2 = 值2,参数3 = 值3,。。。。。。。。。)
{
函数体代码
return 返回值
}
类别:
类库函数:
is_null () ,is_array (),is_string ();
自定义函数:
(就是我们自己写的函数,根据项目开发过程当中,咱们根据需求自己编写出来的函数,可以供大家一起使用。)
【function】:
定义函数的关键字。
函数命名规范:
与咱们的变量名几乎一样
1、函数名不区分大小写。
2、函数名字使用英文,遵循规范。
3、数字可以夹在中间或者后面。
4、下划线不属于特殊符号。
5、不用特殊符号。
6、命名的时候要有意义。
7、遵循驼峰或者下划线。
8、不能使用系统给咱们的函数名还有系统的关键字。
基本格式:
1、函数都要以关键字function 开始。
2、函数名后面要紧跟小括号
3、小括号下面跟着大括号,大括号后面是函数体。
4、函数调用需要函数名加上小括号;
没有参数,没有返回值。
有参数,没有返回值。
function show($name = '张三' ,$val = '程序员') //$name = '',$val = '';
{
echo '我的名字是'.$name.'我的职业是'.$val.'<br />';
}
参数就是:name,val
如果你写多个的话,用逗号隔开,可以写多个,没有上限。
就相当于 张三 赋值给name。
有参数有返回值
重点:
return:
只是返回并没有输出。
return后面代码不执行
return:
1、return关键字只要碰到立马结束,后面代码统统不执行。
2、如果你想有多个返回值的时候,用数组去弄。
3、函数调用表达式的值就是函数的返回值。
默认参数:
1、默认参数就是不传参的时候用的那个变量。
2、如果你传了参数,就用传过来的值。
3、如果形参带有默认参数,一般放到后面。
4、如果没有默认参数,你必须给参数传值,不然会报错。(js不是)
注意事项:
1、函数必须要function开始定义。
2、function后面加空,加函数名,加空格,加小括号。
3、函数名和变量名字命名规则基本一样,唯一不一样的是,不区分大小写。
4、函数名后面跟括号,括号里面跟参数(就是变量)。
5、如果有默认参数,用等号,等号后面是你要跟的值。
6、调用函数的时候里面传入的值(实参),就是把函数体外的变量的值拿到函数体内来使用。
7、函数体外的变量和函数体内的变量通常不是一个变量。
8、函数可以有返回值,也可以没有返回值,你如果想返回的话,你用return 关键字返回。
9、函数的调用跟你定义的顺序没有半毛钱关系,但是变量不是。
10、函数可以多次调用,没有事。
1 <?php 2 function name() { 3 echo '这首歌真好听';} 4 name (); 5 echo '<br />'; 6 function info($name = '李四',$val = '程序员') { 7 echo '我的名字是'.$name.'我的职业是'.$val.'<br />';} 8 info (); 9 function show($name = '张三',$val = '医生') { 10 echo '他的名字是'.$name.'他的职业是'.$val.'<br />';} 11 show (); 12 function info2($name = '王五',$val = '警察') { 13 echo '我的名字是'.$name.'职业是'.$val.'<br />';} 14 info2 ('赵六','教师'); 15 ?>
1 <?php 2 function say ($name = '张三',$age = 11,$sex = '男') { 3 echo '性名:'.$name.'<br />'; 4 echo '年龄:'.$age.'<br />'; 5 echo '性别:'.$sex.'<br />'; 6 return '这是我的简介。'; 7 echo 111;} 8 echo say ('李四'); 9 ?>
超全局变量:
1 <?php 2 function say () { 3 var_dump($GET);} 4 var_dump($GET); 5 say(); 6 ?>
静态变量:
1 <?php 2 function sum () { 3 $num = 1; 4 $num++; 5 echo $num;} 6 sum (); 7 sum (); 8 sum (); 9 sum (); 10 echo '<br />'; 11 function sum1 () { 12 static $num = 1; 13 $num++; 14 echo $num;} 15 sum1 (); 16 sum1 (); 17 sum1 (); 18 sum1 (); 19 ?>
形参和返回值的类型的约束:
function sum (int $num1, int $num2) //形参的;
{
return $num1+$num2;
}
sum(2,3);
//小括号后面加上:加上数值类型,把函数体返回的值给转成你限定的类型。
匿名函数:
所谓的匿名函数就是没有名字。
//如果你想用,赋值给一个变量,然后该怎么调用就怎么调用,变量加上(),跟普通函数调用一样。
$func = function () {}
$func();
1 <?php 2 function sum1($num1,$num2){ 3 return $num1+$num2;} 4 var_dump(sum(1,2)); 5 echo '<br />'; 6 function sum2($num1,$num2){ 7 return $num1+$num2;} 8 var_dump(sum('1','2')); 9 echo '<br />'; 10 function test(...$arr) { 11 var_dump($arr);} 12 test('abc',1,2,3,123,'cc'); 13 echo '<br />' 14 function test1 ($a,$b,$c,$d) { 15 var_dump ($a,$b,$c,$d);} 16 $arr = [1,'wang',1.87,'big']; 17 test1(...$arr); 18 echo '<br />'; 19 $func = function () { 20 echo '匿名函数';}; 21 $func (); 22 23 ?>
13、常用函数:
数学函数:
1、随机:rand,mt_rand
2、小数:floor:向上取整;
ceil:向下取整;
round:四舍五入法取整;
3、其他:abs:绝对值;
pi:圆周率;
M_PI:常量,与pi()函数的返回值相同;
pow:指数表达式;
max:最大值;
min:最小值;
字符串函数:
1、大小写转换:
strtolower:转换为小写;
strtoupper:转换为大写;
lcfirst:首字母小写;
ucfirst:首字母大写;
ucwords:每个单词首字母大写;
2、空白处理:
trim:去掉首尾的空白字符;
ltrim:去掉开头的空白字符;
rtrim/chop:去掉结尾的空白字符;
3、查找定位:
strstr/strchr:返回首次出现到结尾的内容;
strrchr:返回最后一次出现到结尾的内容;
stristr:strstr忽略大小写的版本;
strpos:返回首次出现的位置;
stripos:strpos忽略大小写版本;
strrpos:返回最后一次出现的位置;
strripos:strrpos忽略大小写版本;
substr:子串提取,可以通过下标方式获取单个字符($str{n});
strpbrk:返回(字符列表中任意字符)首次出现到结尾的内容;
4、比较:
strcmp:二进制比较字符串;
strcasecmp:strcmp忽略大小写;
strnatcmp:自然顺序比较;
strnatcasecmp:strnatcmp的忽略大小写版本;
5、顺序:
str_shuffile:打乱顺序;
strrev:逆序字符串;
6、转换:
chr:将ASCⅡ码值转换为字符;
ord:返回字符串的ASCⅡ码值;
数组常用函数:
1、数组中元素指针的移动:
next:向后移动,指向下一个元素;
prev:向前移动,指向前一个元素;
end:指向最后一个元素;
reset:复位,重新指向第一个元素;
2、键和值相关的操作:
key:获取数组当前元素的键;
current/pos:获取数组当前元素的值;
array_keys:获取所有的键;
array_values:获取所有的值,并为其建立数字索引;
array_key_exists/key_exists:判断给定的键是否在数组中;
in_array:判断给定的值是否在数组中;
array_search:根据值返回给定的键名;
array_count_values:统计数组中所有的值出现的次数;
3、添加删除元素:
array_shift:将数组开头的元素移出数组;
array_unshift:向数组开头添加一个或更多个元素;
array_push:向数组末尾压入一个或多个元素;
array_pop:弹出数组末尾的一个元素;
4、排序相关:
shuffile:将数组打乱(转换为索引数组);
sort:对数组进行排序(排序之后重新索引);
resort:对数组进行逆向排序;
asort:对数组进行排序并保持索引关系;
natsort:用自然顺序算法对数组进行排序;
natcasesort:natsort忽略大小写的版本;
ksort:对数组按照键名进行排序;
krsort:对数组按照键名逆向排序;
usort:使用用户自定义的比较函数对数组的值进行排序;
uasort:使用用户自定义的的比较函数对数组的值进行排序并保持索引关系;
uksort:使用用户自定义的比较函数对数组的键名进行排序;
5、元素运算:
array_sum:计算数组中的所有值的和;
array_product:计算数组中所有值的乘积;
count/sizeof:计算数组中元素的个数;
6、创建数组:
range:建立一个包含指定范围单元的数组(可以指定步幅,可以指定递减);
compact:创建一个包含变量与其值的数组;
extract:从数组中将变量导入到当前的符号表(与compact功能相反);
array:新建一个数组;
array_merge:合并一个或多个数组(关联会覆盖,索引会重新索引,若想保留索引可以使用'+')
array_merge_recursive:递归合并一个或多个数组;
array_combine:用一个数组的值作为键名,另一个数组的值作为值创建数组;
7、其他:
array_chunk:将数组分割成指定长度的小数组;
array_map:将回调函数作用到每个元素上,返回处理的结果数组(新数组);
array_walk:将回调函数作用到每个元素上(会改变原数组),返回真假;
array_filter:使用回调函数过滤数组(回调函数返回真的才会出现在结果中);
array_flip:返回交换键和值后的新数组;
array_rand:随机从数组中抽取一个或多个元素的键;
array_replace:使用后面的数组中元素替换第一个数组中的元素;
array_reverce:返回一个单元顺序相反的数组(关联数组会保持键值对应,索引数组需要传递第二个参数);
array_unique:移出数组中重复的值。
1 <?php 2 $num = rand(1,6); 3 ehco $num; 4 echo '<br />'; 5 $num1 = mt_rand(1,6); 6 echo '$num1'; 7 echo '<br />'; 8 $num2 = 5.4; 9 ehco floor($num2); 10 echo '<br />'; 11 $num3 = 6.1; 12 echo ceil($num3); 13 echo '<br />'; 14 $str = 'ABCdef'; 15 echo strtolower($str); 16 echo '<br />'; 17 $str1 = 'ABCdef'; 18 echo strtoupper($str1); 19 echo '<br />'; 20 $str2 = 'abcdefg'; 21 echo substr($str2,2,4); 22 echo '<br />'; 23 echo strpos($str2,'c'); 24 ?>
14、文件函数:
1 <?php 2 function add(){ 3 echo '这是数据库添加方法'} 4 function del() { 5 echo '这是删除方法';} 6 function update (){ 7 echo '这是修改方法';} 8 function select() { 9 echo '这是查询方法';} 10 11 ?>
1 <?php 2 include(mysql/wenjianbaohan.php); 3 add(); 4 ?>
<?php require('mysql/wenjianbaohan.php') select (); ?>
require和include的区别:
require('......')这个函数一般放在php文件最前面,程序在执行前就会先导入要引用的文件;
include('......')这个函数一般放在程序的流程控制里面。只有程序在执行碰到才会引用。可以简化程序的执行流程。
require:一个文件存在错误时,执行就会中断,并返回一个致命错误。
include:一个文件存在错误时,程序不会中断执行,会弹出一个警告。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:如何自学php
下一篇:18年7月20日课堂随笔
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash