您的位置:首页 > 编程语言 > PHP开发

PHP学习笔记(04)——函数

2015-10-06 21:48 615 查看

函数

1.函数的概念

2.函数的定义格式

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

4.函数的调用过程与返回值:函数调用时,代码执行权进入函数,当函数所有语句执行完毕,函数结束,交回执行权,或者碰到return语句时,函数返回,交回执行权。

5.参数的传值方式

6.动态函数

7.函数中变量的作用域: 在php中声明的变量,叫做“全局变量”,函数内的变量,叫做“局部变量”

8.日期时间函数

8.1 获取时间戳

时间戳是指自1970 01 01 00:00:00到现在这一瞬间的秒数.

time()

microtime()

8.2格式化

date()

gmdate()

8.3解析检测日期

mktime()

strtotime()

cheeckdate()

// 函数调用
function t2(){
echo '1';
echo '2';
echo '3';
return 'good';
echo '4';
echo '5';
return 'study';
}

$res = t2(); //执行函数,此时会在屏幕上打印 1,2,3, 并把good值赋给$res

echo $res; //在屏幕上打印good


函数可以没有返回值,如果有,只能有一个

function t3(){
return; //结束函数
return "hello", "world" //语法错误
}


//函数传值
<?php
/****

****/
function t($a){
$a += 1;
}

$b = 3;
t($b); //传参$b的值,相当于把$b的值,赋给$a,$a是函数内部的值,怎么变,和外接无关
echo $b, "<br />";

function t2(&$a){
$a += 1;
}
$b = 5;
t2($b);
echo $b; //$a 和 $b 指向同一个地址,
//这种传参方式是不推荐的,因为函数内部的语句,影响到了外部的变量,影响了函数的封装性

?>


函数参数作用域

<?php
/****

****/
$a = 22;

function t(){
echo $a;
}

t();

//声明全局变量 global, 不推荐
function t2(){
global $a;
echo $a;
}

//超级全局变量,在页面的任何部分部分,包括函数,方法等,都可以直接访问
function t3(){
print_r($_GET);
}
t3();
?>


动态调用函数

<?php
/****
可以用变量的值当作函数,并调用函数
****/
header("Content-Type: text/html; charset=utf-8");

function wel(){
echo "welcome";
}

function beat(){
echo "beat";
}

$heart = 'wel';

$heart(); //$heart的值是wel,因此调用执行wel();
?>


时间戳,计算程序运行时间

<?php
/****
可以用变量的值当作函数,并调用函数
****/
header("Content-Type: text/html; charset=utf-8");

echo time(); //返回时间戳

echo "<br />";
print_r (microtime());  //0.37020600 1444129235

echo "<br />";
print_r (microtime(true)); //1444129235.3702

echo "<br />";
$start = microtime(true);
for ($i=1; $i<1000 ; $i++) {
$tmp = 13333 / 234;
}
$end = microtime(true);
echo $end - $start;

?>


格式化时间戳

<?php
/****
时间戳的格式化
****/
header("Content-Type: text/html; charset=utf-8");

$time = time();
echo date( 'Y-m-d 星期N h:i:s', $time), '<br />';
echo date( 'Y-m-d 星期N h:i:s'), '<br />';
echo gmdate( 'Y-m-d 星期N H:i:s', 0), '<br />';
?>


转换成时间戳以及检测日期是否合法

<?php
/****
解析检测日期,反过来转换成时间戳
****/
echo mktime(14,35,20,11,27,2013);  //时,分,秒,日,月,年,可以选填,默认成此时此刻的值

echo '<br />';
echo strtotime('now');

echo '<br />';
echo strtotime('now + 1 day'); //后天此时的时间戳

//检测日期是否合法 比如 5月35日
var_dump(checkdate(2, 29, 2000));
var_dump(checkdate(2, 29, 1900));

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 函数