php04

1.1:函数概念

  函数就是一段封装的代码,可以随时调用

  1.重复的事情可以用函数进行封装,

echo ‘hello‘;echo ‘world!!!!<br>‘;echo ‘hello‘;echo ‘world!!!!<br>‘;echo ‘hello‘;echo ‘world!!!!<br>‘;//helloworld!!!! helloworld!!!! helloworld!!!!

  用函数封装,然后调用。

function hello(){ echo ‘hello‘; echo ‘world!!!!<br>‘;}hello();hello();hello();//helloworld!!!! helloworld!!!! helloworld!!!! 

  2.定义一个函数(求两个数的和)

function add($a,$b){ echo $a+$b; } add(1,2); //3 add(2,3); //5

  3.函数可以把运算结果返回给调用者

function add($a,$b){ return $a+$b; } add(1,2); add(2,3); 

  此计算器的运算过程如下

function add($a,$b) { //赋值过程,看不到,但是内部确实如此  $a = 3; $b = 5; return $a+$b; } echo add(3,5); //8

4.2:函数的定义格式

  无论函数有没有参数[可以没有参数],都需要在函数名后面加上小括号

 function 函数名(参数1,参数2,...,参数n){ //函数体,要进行的操作 return 某值/表达式 }

  return的作用:

  return返回一个结果 谁能捕捉到这个调用结果呢?调用结束后,调用行可以捕捉return的结果

  函数的命名规范:

  对于函数,命名规则和变量是一样的,但是函数不区分大小写. 

  注意: 虽然不区分大小写,但是声明时和调用时大小写要保持一致

4.3:函数执行与返回流程

  1.函数是机器,调用才能执行

function say() {
echo ‘hello<br />‘;
}
function he($a,$b) {
$sum = $a + $b;
return $sum;
}
echo ‘good good study<br >‘;
say();
//执行权进入到say函数,函数结束后,交回执行权
echo ‘day day up‘;
//good good study
// hello
// day day up

  什么时候交回执行权?函数结束后  在return后加入语句

function he($a,$b) { $sum = $a + $b; return $sum; echo ‘~~~~~~~~~!‘; } echo he(3,2); //5

  碰到return语句,也要交回执行权  所以在return后再写语句是不执行的,因为执行权已经交回 

4.4:函数传值的方式

 function he($a,$b) { $sum = $a + $b; return $sum; } echo he(3,2); //5

4.5:可选参数

  1.相乘加倍函数

function mult($num,$rate) { return $num*$rate; } echo mult(4); echo mult(4,5);

  2.如果两个参数,我只给定一个,另一个参数不指定,但是默认有一定的参数 --- 可选参数

function mult($num,$rat=5) { return $num*$rat; } echo mult(4); //20

  3.默认参数应写在最后

4.6:函数作用域

  变量的作用域,就是变量在函数里,和不在函数里

  对于php而言,函数的作用域非常简单,它就区分函数内和函数外

function t1(){ echo $a; $b=5;}$a=2;t1();echo $b;//Undefined variable: a//Undefined variable: b

  函数内部的变量和函数外部的变量互不干扰,函数内变量成为"局部变量",

  在php页面中声明的,且在函数外部变量成为"全局变量";

  global全局变量

function t1(){ global $a;//这句话是声明,$a这个变量就去全局找 $a+=1; echo $a; //2}$a=2;echo $a,‘<br>‘; //3t1();echo ‘<br>‘;echo $a,‘<br>‘; //3

4.7:动态调用函数

  php非常的灵活,我们在学习变量的时候,知道,可以拿一个变量的值当另一个变量的名

  变量值也可以当函数名来调用

function good() { echo ‘hi‘; }function bad() { echo ‘gun‘; }$heart = ‘good‘; good();//hi $heart();//hi 这是一个函数的调用,然而并没有使用函数名来调用$heart = ‘bad‘; bad();//gun $heart();//gun

4.8:时间戳函数

  时间戳函数: time() 返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。

   microtime() 返回当前 Unix 时间戳和微秒数

echo time(),‘<br >‘;//1547303854

  mixed是混合的意思,代表返回的类型不止一种 精确到微妙的函数

echo microtime(),‘<br >‘;//0.09689400 1547303916

4.9:时间戳格式化

  date — 格式化一个本地时间/日期

  1.前一天时间

$lastday = time()-24*3600;echo date(‘Y年m月d日 H:i:s‘,$lastday);

  2.不写第二个参数,默认是time();当前时间戳

$lastday = time();echo date(‘Y年m月d日 H:i:s‘,$lastday),‘<br >‘;echo date(‘Y-m/d H:i:s‘,$lastday),‘<br >‘;// 2019年01月12日 15:45:19// 2019-01/12 15:45:19

  3.国外写法,将年份放在后面也是可以的

$lastday = time();echo date(‘Y年m月d日 H:i:s‘,$lastday),‘<br >‘;echo date(‘Y-m/d H:i:s‘,$lastday),‘<br >‘;echo date(‘m/d-Y H:i:s‘,$lastday),‘<br >‘;// 2019年01月12日 15:45:19// 2019-01/12 15:45:19//01/12-2019 15:47:12

4.10:日期解析函数

  mktime() — 取得一个日期的 Unix 时间戳 

  strtotime() — 将任何英文文本的日期时间描述解析为 Unix 时间戳

  checkdate() — 验证日期是否合法

  1.mktime()

//mktime(秒/分/时/);给定一个日期,返回这个日期的时间戳 echo mktime(18,30,16,1,12,2019);//1547314216

  2.strtotime() 

//strtotime();可以口语化的转化时间戳echo strtotime("now"),‘<br>‘;echo strtotime("-1 day"),‘<br>‘;echo strtotime("+1 week"),‘<br>‘;// 1547304884// 1547218484// 1547909684

  3.checkdate()

//checkdate() 负责检测日期是否合法 var_dump(checkdate(2,30,2001)); var_dump(checkdate(2,29,1996)); var_dump(checkdate(7,30,2015));//bool(false) bool(true) bool(true)

 

相关文章