一、时间、字符串与函数
1.时间和日期
PHP 时间戳
UNIX 时间戳(timestamp)是 PHP 中关于时间日期一个很重要的概念,它表示从 1970年1月1日 00:00:00 到当前时间的秒数之和。
PHP提供了内置函数 time() 来取得服务器当前时间的时间戳。
例子:
<?php
echo time();
?>
上面的例子运行后得到的是一串类似这样的数字:1279115455
我们可以通过 date() 等函数将它格式化为我们需要的时间日期格式。
有效的时间戳典型范围是格林威治时间 1901年12月13日 20:45:54 到 2038年1月19日 03:14:07(此范围符合 32 位有符号整数的最小值和最大值)。不过从 5.1.0 起,已经克服了年的范围只能是 1901 到 2038 之间的问题。
格式化时间
date() 函数用于格式化时间,返回一个字符串。
语法:
string date( string format [, int timestamp] )
参数 format 表示时间格式化的方式,可能的方式如下:
格式化方式说明: 格式化方式 | 说明 |
---|---|
Y | 4位数字年,y为2位数字,如99即1999年 |
m | 数字月份,前面有前导0,如01。n 为无前导0数字月份 |
F | 月份,完整的文本格式,例如 January 或者 March |
M | 三个字母缩写表示的月份,例如 Jan 或者 Mar |
d | 月份中的第几天,前面有前导0,如03。j 为无前导0的天数 |
w | 星期中的第几天,以数字表示,0表示星期天 |
z | 年份中的第几天,范围0-366 |
W | 年份中的第几周,如第32周 |
H | 24小时格式,有前导0,h为12小时格式 |
G | 24小时格式,无前导0,g为对应12小时格式 |
i | 分钟格式,有前导0 |
s | 秒格式,有前导0 |
A | 大写上下午,如AM,a为小写 |
可选参数 timestamp 表示时间戳,默认为 time() ,即当前时间戳。
我们可以通过 date() 函数提供的丰富格式化来显示需要的时间日期,如下面的例子:
date("Y-m-d",time()); //显示格式如 2008-12-01
date("Y.m.d",time()); //显示格式如 2008.12.01
date("M d Y",time()); //显示格式如 Dec 01 2008
date("Y-m-d H:i",time()); //显示格式如 2008-12-01 12:01
提示
如果您输出的时间和实际时间差8个小时(假设您采用的北京时区)的话,请检查php.ini文件,做如下设置:
date.timezone = PRC
2.字符串
字符串获取
substr(string,start,len):从字符串中获取其中的一部分
strstr(string,str):查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符
strrchr(string,str):查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符
字符串替换
str_replace(search,replace,string):使用一个字符串替换字符串中的另一些字符
字符串计算
strlen(string):取得字符串的长度
strpos(string,str,start) 函数用于定位字符串第一次出现的位置,返回整型。
strrpos():定位字符串最后一次出现的位置
案例
(1)获取 "我爱我.的.祖国.png" 的后缀名
$str = "我爱我.的.祖国.png";
$s = substr(strrchr($str,'.'),1);
echo $s;
$arr = explode(".",$str);
$ext = array_pop($arr);
echo "<br>$ext<br>";
(2) "我爱我的祖国,我的祖国是中国"替换为 "我爱我的国家,我的国家是中国"
$str = "我爱我的祖国,我的祖国是中国";
$str = str_replace("祖国","国家", $str);
echo "<br>$str<br>";
3.PHP 函数
PHP 的函数分为用户自定义函数和系统内置函数。内置函数可以直接使用,用户自定义函数需要使用关键字 function 来定义。
自定义函数
函数(function),可以看着是为实现某个功能的独立的程序语句集合。我们将某个功能写成一个函数后,就可以在需要的地方方便的使用它。合理的使用函数,可以让我们的PHP程序更加简洁易读,更加科学。
语法
function function_name(arg1,arg2,……)
{
函数功能代码
}
语法解读:
- 使用 function 关键字定义一个函数
- function 后面紧跟函数名,函数名字以字母或者下划线开始,命名应该提示其功能
- 函数名字后面是一对小括弧,里面是函数的参数,参数之间以“,”号分隔,但参数不是必须的
- 括弧()后面跟着“{}”,内部是该函数要实现的功能语句
下面是一个自定义函数的例子:
<?php
/* 定义函数开始 */
function print_string()
{
echo "你好!";
}
/* 定义函数结束 */
print_string(); //执行该函数,执行结果是输出“你好!”字符串
?>
任何有效的 PHP 代码都有可能出现在函数内部,甚至包括其它函数和类定义。
提示
函数名是非大小写敏感的,不过在调用函数的时候,通常使用其在定义时相同的形式。
函数的参数
参数的功能是传递信息到函数。
使用参数的例子:
<?php
function city_name($city)
{
echo "城市名称为:".$city;
}
city_name("shanghai"); //执行该函数,执行结果是输出“城市名称为:shanghai”字符串
?>
可以给函数的参数指定默认值,以便在没有指定参数值时,采用参数默认值。
<?php
function city_name($city = "beijing")
{
echo "城市名称为:".$city;
}
$name = "shanghai";
city_name(); //执行结果是输出“城市名称为:beijing”
city_name($name); //执行结果是输出“城市名称为:shanghai”
?>
从例子可以看出,传入参数的变量名($name)和定义函数的参数变量名($city)无关。
接受多个参数:
<?php
function city_name($city, $zipcode)
{
echo "城市名称为:".$city."<br />";
echo "邮政编码:".$zipcode;
}
?>
函数的返回值
函数在处理完内部逻辑后,我们常常需要根据处理结果来决定下一步的操作逻辑,这时候就需要得到函数的处理结果。使用retu