将课重复使用的代码用指定函数名的函数封装起来,使用函数名调用,函数名不能重复,函数名不区分大小写, 函数的声明的时候传的参数是形参,没有具体值;当函数调用的使用传递参数,
function 函数名([参数列表]){};
function sum(){ echo 3+4; }
function sum1($a,$b){
echo $a+$b;
}
sum();
echo '';
sum1(4,5);
function mul($a,$b){
return $a*$b;
}
echo '';
echo mul(3,5);
echo '';
参数可以设置默认值,设置默认值后改参数就变为可选参数,不传使用默认值,传了使用传递的值,所有的默认值参数都要放参数列表的后面
function stuinfo($age,$name,$sex='男'){
echo $name.'的年龄为:'.$age.',性别为:'.$sex;
} stuinfo(12,'小明','女');
//引用赋值
function sum2(&$a,$b){ $a++; echo $a+$b; } echo '';
$a=10; $b=20;
echo sum1($a,$b);
echo '';
echo $a;
echo '';
echo sum2($a,$b);
echo '';
echo $a;
echo '';
echo '
------------------------
';
x=10; $y=20;
function calc(){
global $x,$y;#使用全局变量需要在局部再用global声明一次
echo $x+$y; }
function calc1(){
$x=$GLOBALS['x'];
$y=$GLOBALS['y'];
echo $x+$y; // 局部变量只能在局部使用,在当前作用域外不能使用
} echo calc(); echo '';
echo calc1();
echo '
------------------------
';
如果希望某个变量函数下一次调用时以上一次调用完后的值继续使用,就将改变量声明为静态变量,会保留当前变量不会释放,使用static关键字
function nums(){
$i=1; echo $i;
echo '';
++$i;
}
nums();
nums();
nums();
nums();
echo '';
function nums1(){
static $i=1;
echo $i;
echo '';
++$i;
}
nums1();
nums1();
nums1();
nums1();
echo '
------------------------
';
function action(){
echo '这是可变函数调用结果';
} //即,调用
action()
$res='action';
$res();
echo '
------------------------
'; //匿名函数
$sum3=function ($a,$b){
return $a+$b;
};
echo $sum3(3,4);
echo '
------------------------
';
echo strlen('中国');
echo '';
echo strlen('aaa');
echo '';
echo ''.strpos('hellow world','o'); echo '';
echo ''.strrpos('hellow world','o'); echo '';
str_replace(‘要被替换的值’,‘替换的值’,‘要被替换的字符串’);
echo ''.str_replace('!',' ','a!bcd!d'); echo '';
echo ''.str_replace('!',',','a!bcd!d'); echo '';
substr(要截取的字符串,起始下标,[截取的长度]);
echo ''.substr('abcddfd','2','3'); echo '';
echo ''.trim(' a b c '); echo '';
echo ''.time(); echo '';
echo mktime(12,10,20,5,21,2021); echo '';
echo date('Y-m-d H:s:i',time()); echo '';
print_r(str_split('hellow seaoct rworld',5)); echo '';
explode(需要分割的部分,需要分割的字符串,[规定所返回的数组元素的数目])
//大于 0 - 返回包含最多 limit 个元素的数组
//小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
//0 - 返回包含一个元素的数组
print_r(explode(' ','hellow world')); echo '';
print_r(explode(' ','hellow world',0)); echo '';
print_r(explode(' ','hellow world',-1)); echo '';
print_r(explode(' ','hellow world',1)); echo '';
print_r(explode(' ','hellow world',2)); echo '';
print_r(explode(' ','hellow world',3));echo '';