php教程视频下载(六、PHP基础教程,PHP中常用系统函数)

wufei123 发布于 2024-04-11 阅读(75)

6.1 数值进制转换 number bindec(string binary_string) 二转十number octdec(string octal_string) 八转十number hexdec(string hex_string) 十六转十

string decbin(int number) 十进制转换为二进制 string decoct(int number) 十转八 string dechex(int number) 十转十六 string base_convert(string number, int frombase, int tobase)

number是要转换的数,frombase是原进制,tobase是转换后的进制如base_convert(13,10,2)相当于decbin(13) 6.2 科学计算 1、绝对值 number abs(mixed number) 。

返回number的绝对值 2、三角函数 float tan(float arg) 正切 float sin(float arg) 正弦 float cos(float arg) 余弦 float atan(float arg) 反正切 。

float asin(float arg) 反正弦 float acos(float arg) 反余弦 float pi(void) 圆周率(或直接使用常量M_PI) float deg2rad(float number) 角度制转为弧度制(2=to)

float rad2deg(float number) 弧度制转为角度制 3、指数运算 number pow(number base,number exp) base为底数,exp为幂而pow(2,4)相当于2^4。

4、对数运算 float log(float arg [,float base]) arg为真数,base为底数如log(5,2)就是以2为底的5的对数 5、开方运算 float sqrt(float arg) 。

返回arg的平方根 6.3 随机数 1、libcs随机数(传统) int rand([int min, int max]) 生成介于min和max之间的随机整数(包括min和max),如rand(1,3)就可能生成1、2、3这三种情况。

如果没有指定min和max,则生成介于0和getrandmax()之间的随机整数如果希望生成比getrandmax()更大的随机数,请设置min和maxint getrandmax(void) 返回rand()能取到的最大值,如在Windows平台下是32768。

2、mt_rand()随机数(新兴,速度快) int mt_rand([int min, int max]) 生成介于min和max之间的随机整数(包括min和max),如rand(1,3)就可能生成1、2、3这三种情况。

如果没有指定min和max,则生成介于0和mt_getrandmax()之间的随机整数如果希望生成比mt_getrandmax()更大的随机数,请设置min和max int mt_getrandmax(void)

返回mt_rand()能取到的最大值 6.4 四舍五入、取整和取余 float round(float val [,int precision]) 对val进行四舍五入,并根据precision确定保留小数点后几位。

如round(4.2)等于4;round(3.625,1)等于3.6 float floor(float value) 舍尾取整,如floor(3.99)等于3 float ceil(float value) 。

尽进取整,如ceil(3.01)等于4 float fmod(float x, float y) 浮点数的取余运算,如果x、y都是整数,则fmod(x,y)相当于x%y;如果x、y不都是整数,则按照浮点数的运算法则来取余。

如fmod(5,1.3)等于1.1,因为5=1.3*3+1.1 6.5 比较大小 mixed max(number arg1 ,number arg2 [,number...]) mixed max(array numbers)

返回最大值但要注意下面的用法:$val = max(array(2, 4, 8), array(2, 5, 7)),这样$val=array(2, 5, 7)因为如果操作数都是数字,PHP会逐个比较,一经比出,后面就忽略了。

mixed min(number arg1 ,number arg2 [,number...]) mixed min(array numbers) 返回最小值注意事项和max()一样 6.6 判断数值是否合法 。

bool is_finite(float val) 判断val是否未超过界限(即系统所能表达的最大值) bool is_infinite(float val) 判断一个值是否为有限值如果是有限值,则返回True;如果不是,则不返回任何值。

如果该数值超过了PHP允许的浮点数值范围之内,那么它就是无限值bool is_nan(float val) 判断val是否不存在,如is_nan(acos(1.01))将返回true6.7 时间和日期函数。

首先让我们认识两个概念,Unix纪元(Unix Epoch)和时间戳(timestamp)前者指的是格林威治时间1970年1月1日零点(January 1 1970 00:00:00 GMT),后者则是从Unix纪元开始计数的秒数,从而表示具体时间,因此也可以是负数字。

如时间戳若等于-86400,则其表示的时间是格林威治时间1969年12月31日零点(December 31 1969 00:00:00 GMT),以此类推 1、int time(void) 1240632459

2、int mktime([int hour [,int minute [,int second [,int month [,int day [,int year]]]]]]) 返回指定时刻的时间戳如果没有指定,则返回当前时刻的时间戳。

3、int strtotime(string time) 将time所表示的时间转换为时间戳并返回,如果转化失败则返回false例如:strtotime(“+1 days”,time());//将当前日期中的日加1后的时间戳返回,注意理解“+1 days”,其中days位置还可以使用:hours,week,year,month等,或将“+1 days”写成:"+1 week 3 days 7 hours 5 seconds","next Monday","last Sunday"。

strtotime(“+1 days”,time());//将当前日期中的时间加一天4、array getdate([int timestamp]) 根据timestamp或当前时刻的时间戳生成一个数组,包含以下元素: 。

"seconds" 秒(0-59) "minutes" 分(0-59) "hours" 时(0-23) "mday" 日(1-31) "wday" 星期(0(星期日)-6(星期六)) "mon" 月(1-12)

"year" 年(四位) "yday" 这一年的第几天(0-365) "weekday" 星期全称(Monday-Sunday) "month" 月份全称(January-December) 0 时间戳,相当于time()返回的值

5、string date(string format [,int timestamp]) 根据格式字符串format输出timestamp所表示的时间或当前时刻以下是用于format的字符: ---年--- 。

Y 年份(四位) y 年份(两位) L 是否为闰年(1、0) ---月--- m 月(01-12) n 月(1-12) F 月份全称(January-December) f 月份简称(Jan-Dec)

t 该月所含天数 ---日--- d 日(01-31) j 日(1-31) z 这一年的第几天(0-365) S 英语的日期后缀st、nd、rd、th,与j合用,即"jS" --星期-- l 星期全称(Monday-Sunday)

D 星期简称(Mon-Sun) w 星期(0(星期日)-6(星期六)) --时间-- H 24时制的小时(00-23) h 12时制的小时(01-12) G 24时制的小时(1-24) g 12时制的小时(1-12)

A 上下午标识(AM-PM) a 上下午标识(am-pm) i 分(00-59) s 秒(00-59) 以上符号之外的符号都会被直接输出,如果要输出以上符号则需要转义(\) 6、int idate(string format [,int timestamp]) 。

根据格式字符format输出一个由timestamp所表示的时间或当前时刻的一个值以下是用于format的字符:Y、y、m、t、d、w、H、h、i、s,且要注意一次只能使用一个字符另外,因为idate()返回的是整数,所以前置导零会被忽略。

7、mixed microtime([bool get_as_float]) 返回一个形如"0.57224700 1156425759"的字符串,前半部分是微妙,后半部分是时间戳如果get_as_float被设置为true,则返回形如1156425759.57的浮点数。

8、mixed gettimeofday([bool return_float]) 返回一个数组集合,如果return_float被设置为true,则等价于microtime(true)以下是数组所含元素: 。

"sec" 时间戳,如1156425759 "usec" 微秒,如572247 如果要以当前时刻生成一个精确到毫秒的ID的话:$ID=date("YmdHis").substr(microtime(),2,3);

9、bool checkdate(int month ,int day ,int year) 判断一个日期是否存在存在返回1,否则返回false 10、UNIX时间戳转成标准时间 (X+8*3600)/86400+70*365+19。

X表示UNIX时间戳的值〓关于时区的问题〓 从PHP5.1开始我们必须为程序设置时区如我们现在在东八区,如果不设置时区的话,以上所有时间函数所得到的时间都会以格林威治时间为准,即比我们这里晚8个小时设置时区有三种方法: 。

(1)在php.ini文件中找到date.timezone行,将前面的分号去掉,并赋值"Asia/Shanghai"或"PRC"(老外好象把北京忘了)(2)如果不能修改php.ini文件,则在调用时间函数前,用date_default_timezone_set("Asia/Shanghai")来设置时区。

相应地,可以用date_default_timezone_get()来获取当前时区 (3)以下列格式输出时间:echo date(”Y-m-d H:i:s”, time()+8*60*60);这样,时区就调整好了,时间函数也能准确运作了。

其他可用与时区设置的参数可自行查阅PHP文档6.8、empty()与isset()函数的区别 empty(变量名): 如果 var 是非空或非零的值,则 empty() 返回 FALSE换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果var 为空,则返回TRUE。

除了当变量没有置值时不产生警告之外,empty()是 (boolean) var 的反义词isset(变量名): 如果var存在则返回TRUE,否则返回FALSE 如果已经使用unset() 释放了一个变量之后,它将不再是 isset()。

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。

若想检测常量是否已设置,可使用 defined() 函数PHP还设置了其他很多的以“is_”开头的函数,从名字就可以看出,这类函数的功能就是用来判断在调用该函数时所给出的参数“是不是什么类型的”、“是不是由什么组成的”或“是不是可以进行某种操作”。

下面给出一些常用的以“is_”开头的函数,供大家参考:is_array(varName),is_bool(varName),is_dir(pathName),is_file(fileName),is_double(varName),is_float(varName),is_int(varName),is_nan(varName)判断数值是否是合法的,is_null(varName),is_numeric(varName),is_string(varName)

6.9、unset()函数功能:释放给定的变量语法:unset(变量1,变量2,……)6.10 realpath()函数realpath() 函数返回绝对路径该函数删除所有符号连接(比如 /./, /../ 以及多余的 /),返回绝对路径名。

若失败,则返回 false比如说文件不存在的话6.11 PHP编码转换函数iconv()函数的作用是:转换字符串的编码Description string iconv ( string in_charset, string out_charset, string str )。

注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。

mb_convert_encoding() 函数mb_convert_encoding()函数的作用是:宽字符编码转换Description string mb_convert_encoding ( string str, string to-encoding [, mixed from-encoding])

注意:但是需要先enable mbstring 扩展库两者区别:mb_convert_encoding 中根据内容自动识别编码;mb_convert_encoding功能强大,但是执行效率比iconv差太多;。

总结:一般情况下用 iconv,只有当遇到无法确定原编码是何种编码时才用 mb_convert_encoding 函数 例如:gb2312转换成utf-8$utf=iconv(GB2312, UTF-8, $_REQUEST[keyword]);。

将字符串utf-8码转换为gb2312码$str = iconv("UTF-8","GB2312//TRANSLIT",$str); 6.12 URL参数编码与解码rawurldecode()rawurldecode -- 对用rawurlencode()已编码的 URL 字符串进行解码

描述string rawurldecode ( string str)返回字符串,此字符串中百分号(%)后跟两位十六进制数的序列都将被替换成原义字符例子 1. rawurldecode() 示例

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

宝骏汽车 新闻43096