很多站长朋友们都不太清楚php函数可选方法,今天小编就来给大家整理php函数可选方法,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php引用函数的使用方法 2、 php如何定义一个show()函数 3、 PHP中的函数 4、 PHP的常用系统函数有哪些 5、 PHP取整数函数常用的四种方法小结 php引用函数的使用方法php引用函数的使用方法
在技术学习的道路上,能掌握一些有用的技巧,对于初学者是非常有帮助的,下面是php引用函数的使用方法,希望大家会喜欢。
1.不要在你的应用程序中gzip输出,让apache来做
考虑使用ob_gzhandler?不,别这样做。它没有任何意义。PHP应该是来写应用程序的。不要担心PHP中有关如何优化在服务器和浏览器之间传输的数据。
使用apache mod_gzip/mod_deflate通过.htaccess文件压缩内容。
2.从php echo javascript代码时使用json_encode
有些时候一些JavaScript代码是从php动态生成的。
$images = array( 'myself.png' , 'friends.png' , 'colleagues.png');
$js_code = '';foreach($images as $image)
{
$js_code .= "'$image' ,";
}
$js_code = 'var images = [' . $js_code . ']; ';echo $js_code;//Output is var images = ['myself.png' ,'friends.png' ,'colleagues.png' ,];
放聪明点。使用json_encode:
$images = array( 'myself.png' , 'friends.png' , 'colleagues.png');
$js_code = 'var images = ' . json_encode($images);
echo $js_code;//Output is : var images = ["myself.png","friends.png","colleagues.png"]
这不是很整洁?
3.在写入任何文件之前检查目录是否可写
在写入或保存任何文件之前,请务必要检查该目录是否是可写的,如果不可写的话,会闪烁错误消息。这将节省你大量的“调试”时间。当你工作于Linux时,权限是必须要处理的,并且会有很多很多的权限问题时,当目录不可写,文件无法读取等的时候。
请确保你的应用程序尽可能智能化,并在最短的时间内报告最重要的信息。
$contents = "All the content";
$file_path = "/var/www/project/content.txt";
file_put_contents($file_path , $contents);
这完全正确。但有一些间接的问题。file_put_contents可能会因为一些原因而失败:
父目录不存在
目录存在,但不可写
锁定文件用于写入?
因此,在写入文件之前最好能够一切都弄明确。
$contents = "All the content";
$dir = '/var/www/project';
$file_path = $dir . "/content.txt";if(is_writable($dir))
{
file_put_contents($file_path , $contents);
}else{ die("Directory $dir is not writable, or does not exist. Please check");
}
通过这样做,你就能得到哪里文件写入失败以及为什么失败的准确信息。
4.改变应用程序创建的文件的权限
当在Linux环境下工作时,权限处理会浪费你很多时间。因此,只要你的php应用程序创建了一些文件,那就应该修改它们的权限以确保它们在外面“平易近人”。否则,例如,文件是由“php”用户创建的,而你作为一个不同的用户,系统就不会让你访问或打开文件,然后你必须努力获得root权限,更改文件权限等等。
// Read and write for owner, read for everybody elsechmod("/somedir/somefile", 0644);// Everything for owner, read and execute for otherschmod("/somedir/somefile", 0755);
5.不要检查提交按钮值来检查表单提交
if($_POST['submit'] == 'Save')
{ //Save the things}
以上代码在大多数时候是正确的,除了应用程序使用多语言的情况。然后“Save”可以是很多不同的东西。那么你该如何再做比较?所以不能依靠提交按钮的值。相反,使用这个:
if( $_SERVER['REQUEST_METHOD'] == 'POST' and isset($_POST['submit']) )
{ //Save the things}
现在你就可以摆脱提交按钮的值了。
6.在函数中总是有相同值的地方使用静态变量
//Delay for some timefunction delay(){
$sync_delay = get_option('sync_delay'); echo "
Delaying for $sync_delay seconds...";
sleep($sync_delay); echo "Done
";
}
相反,使用静态变量:
//Delay for some timefunction delay(){ static $sync_delay = null; if($sync_delay == null)
{
$sync_delay = get_option('sync_delay');
} echo "
Delaying for $sync_delay seconds...";
sleep($sync_delay); echo "Done
";
}
7.不要直接使用$ _SESSION变量
一些简单的例子是:
$_SESSION['username'] = $username;
$username = $_SESSION['username'];
但是这有一个问题。如果你正在相同域中运行多个应用程序,会话变量会发生冲突。2个不同的应用程序在会话变量中可能会设置相同的键名。举个例子,一个相同域的前端门户和后台管理应用程序。
因此,用包装函数使用应用程序特定键:
define('APP_ID' , 'abc_corp_ecommerce');//Function to get a session variablefunction session_get($key){
$k = APP_ID . '.' . $key; if(isset($_SESSION[$k]))
{ return $_SESSION[$k];
} return false;
}//Function set the session variablefunction session_set($key , $value){
$k = APP_ID . '.' . $key;
$_SESSION[$k] = $value; return true;
}
8.封装实用辅助函数到一个类中
所以,你必须在一个文件中有很多实用函数:
function utility_a(){ //This function does a utility thing like string processing}function utility_b(){ //This function does nother utility thing like database processing}function utility_c(){ //This function is ...}
自由地在应用程序中使用函数。那么你或许想要将它们包装成一个类作为静态函数:
class Utility{ public static function utility_a()
{
} public static function utility_b()
{
} public static function utility_c()
{
}
}//and call them as $a = Utility::utility_a();
$b = Utility::utility_b();
这里你可以得到的一个明显好处是,如果php有相似名称的内置函数,那么名称不会发生冲突。
从另一个角度看,你可以在相同的应用程序中保持多个版本的相同类,而不会发生任何冲突。因为它被封装了,就是这样。
9.一些傻瓜式技巧
使用echo代替print
使用str_replace代替preg_replace,除非你确定需要它
不要使用short tags
对于简单的'字符串使用单引号代替双引号
在header重定向之后要记得做一个exit
千万不要把函数调用放到for循环控制行中。
isset比strlen快
正确和一致地格式化你的代码
不要丢失循环或if-else块的括号。
不要写这样的代码:
if($a == true) $a_count++;
这绝对是一种浪费。
这样写
if($a == true)
{
$a_count++;
}
不要通过吃掉语法缩短你的代码。而是要让你的逻辑更简短。使用具有代码高亮功能的文本编辑器。代码高亮有助于减少错误。
10. 使用array_map快速处理数组
比方说,你要trim一个数组的所有元素。新手会这样做:
foreach($arr as $c => $v)
{
$arr[$c] = trim($v);
}
但它可以使用array_map变得更整洁:
$arr = array_map('trim' , $arr);
这适用于trim数组$arr的所有元素。另一个类似的函数是array_walk。
11.使用php过滤器验证数据
你是不是使用正则表达式来验证如电子邮件,IP地址等值?是的,每个人都是这样做的。现在,让我们试试一个不同的东西,那就是过滤器。
php过滤器扩展程序将提供简单的方法来有效验证或校验值。
12.强制类型检查
$amount = intval( $_GET['amount'] );
$rate = (int) $_GET['rate'];
这是一种好习惯。
13.使用set_error_handler()将Php错误写入到文件
set_error_handler()可以用来设置自定义的错误处理程序。在文件中编写一些重要的错误用于日志是个好主意。
14.小心处理大型数组
大型的数组或字符串,如果一个变量保存了一些规模非常大的东西,那么要小心处理。常见错误是创建副本,然后耗尽内存,并得到内存溢出的致命错误:
$db_records_in_array_format; //This is a big array holding 1000 rows from a table each having 20 columns , every row is atleast 100 bytes , so total 1000 * 20 * 100 = 2MB$cc = $db_records_in_array_format; //2MB moresome_function($cc); //Another 2MB ?
当导入csv文件或导出表到csv文件时,上面这样的代码很常见。
像上面这样做可能经常会由于内存限制而让脚本崩溃。对于小规模的变量它不会出现问题,但当处理大型数组时一定要对此加以避免。
考虑通过引用传递它们,或者将它们存储在一个类变量中:
$a = get_large_array();
pass_to_function($a);
这样一来,相同的变量(并非其副本)将用于该函数。
class A{ function first()
{ $this->a = get_large_array(); $this->pass_to_function();
} function pass_to_function()
{ //process $this->a
}
}
尽快复原它们,这样内存就能被释放,并且脚本的其余部分就能放松。
下面是关于如何通过引用来赋值从而节省内存的一个简单示例。
<?phpini_set('display_errors' , true);
error_reporting(E_ALL);
$a = array();for($i = 0; $i < 100000 ; $i++)
{
$a[$i] = 'A'.$i;
}echo 'Memory usage in MB : '. memory_get_usage() / 1000000 . '
';
$b = $a;
$b[0] = 'B';echo 'Memory usage in MB after 1st copy : '. memory_get_usage() / 1000000 . '
';
$c = $a;
$c[0] = 'B';echo 'Memory usage in MB after 2st copy : '. memory_get_usage() / 1000000 . '
';
$d = $a;
$d[0] = 'B';echo 'Memory usage in MB after 3st copy (reference) : '. memory_get_usage() / 1000000 . '
';
一个典型php 5.4机器上的输出是:
Memory usage in MB : 18.08208Memory usage in MB after 1st copy : 27.930944Memory usage in MB after 2st copy : 37.779808Memory usage in MB after 3st copy (reference) : 37.779864
因此可以看出,内存被保存在第3份通过引用的副本中。否则,在所有普通副本中内存将被越来越多地使用。
15.在整个脚本中使用单一的数据库连接
请确保你在整个脚本使用单一的数据库连接。从一开始就打开连接,使用至结束,并在结束时关闭它。不要像这样在函数内打开连接:
function add_to_cart(){
$db = new Database();
$db->query("INSERT INTO cart .....");
}function empty_cart(){
$db = new Database();
$db->query("DELETE FROM cart .....");
}
有多个连接也不好,会因为每个连接都需要时间来创建和使用更多的内存,而导致执行减缓。
在特殊情况下。例如数据库连接,可以使用单例模式。
;
php如何定义一个show()函数函数四要素: 返回类型 函数名 参数列表 函数体
function show() { } 最简单的函数定义方式
function Show() {echo "hello";} Show(); 有参数的函数
function show($a) {echo $a;} show("hello"); 有返回值的函数
function show(){return "aaaaa";} echo show(); 有默认值的函数
function show($a="hello"){echo $a;}show("ceshi"); 可变参数的函数
function show(){//var_dump(func_num_args());
func_get_args() 获取参数列表
func_num_args() 获取参数的个数
$attr = func_get_args();
$sum = 0;
for($i=0;$i<count($attr);$i++)
{
$sum = $sum+$attr[$i];
}
return $sum;
} echo show(1,2,3,4);
常用函数
echo rand(0,10); 生成随机数
日期时间
echo time(); 取当前时间,返回Unix时间戳
echo date("Y-m-d H:i:s"); 格式化日期时间
echo strtotime("2016-3-4 12:09:10"); 将字符串转化为时间戳
字符串函数
$a = "hello|world|ni|hao";
echo strlen($a); //取字符串的长度
echo strcmp("Hello",$a); //比较两个字符串,相等返回0,区分大小写
echo strcasecmp("Hello",$a); //比较两个字符串,相等返回0,不区分大小写
echo strtolower("Hello"); //将字符串转小写
echo strtoupper("hello"); //将字符串转大写
var_dump(explode("|",$a)); //拆分字符串,返回数组
$attr = array("aa","bb","cc","dd");
echo implode("%",$attr); //拼接字符串
echo substr_replace($a,"***",0,5); //替换指定位置的字符串
第一个参数是要替换的字符串
第二个参数是替换的字符串
第三个参数是开始位置
第四个参数是替换长度
echo str_replace("|","?",$a); //查找替换
第一个参数是要查找的字符串
第二个参数是要替换的字符串
第三个参数是被操作的字符串
$s = "2016年元旦放假时间安排表";
echo str_replace("元旦","<mark>元旦</mark>",$s);
$str2 = substr($str,9,4);
echo "从第9个字符开始取4个字符:".$str2.
echo substr($a,0,5); //截取指定位置的字符
$s = ""; for($i=0;$i<10;$i++) {$s = $s.$i.",";}
$s = substr($s,0,strlen($s)-1);
echo $s; 关于字符串定义
$a = "test"; $s = "hello{$a}world"; $str = 'helloworld'; echo $str;//区别:
1.单引号不解析转义字符,内容会原样输出
2.单引号不解析变量
$z1 = "p001"; $z2 = "张三"; $z3 = "男"; $z4 = "2000-1-2"; $z5 = "0904";
$sql = "insert into info values('".$z1."','".$z2."','".$z3."','".$z4."','".$z5."')";或
$sql = "insert into info values('{$z1}','{$z2}','{$z3}','{$z4}','{$z5}')";
echo $sql;*/
$s = <<<A
<span style="color:red">你好</span>
A; 后者A必须是在一行顶格
echo $s;
转载于:
原文链接:
点击阅读全文
打开CSDN APP,看更多技术内容
PHP函数参考手册大全
17. 函数 18. 类与对象(PHP 4) 19. 类与对象(PHP 5) 20. 异常处理 21. 引用的解释 IV. 安全 22. 简介 23. 总则 24. 以 CGI 模式安装时 25. 以 Apache 模块安装时 26. 文件系统安全 27. 数据库安全 28. 错误报告 ...
07_php函数
global关键字的使用 在函数里面的变量之前加上global,相当于函数外面的a就是函数里面的a就是函数里面的a,都变成了同一个变量 $a=10; function show(){ global $a; $a++; echo $a; } show(); //11 echo $a; //11 ?>
继续访问
PHP:变量和函数2
** ** ** ** ** ** ** ** **
继续访问
PHP【函数】
目录:【PHP函数】、【PHP数组】 一、PHP常用函数(和JS一样)函数的四要素:①返回类型②函数名③参数类型④函数体因为PHP是弱类型语言,所以可以不用写返回类型,但是其他三个要素都是必须要写的。 1、最简单的函数写法 function show() { echo "hello"; } show(); 2、有返回值的函数就是在函...
继续访问
php函数方法,基于PHP函数的操作方法
如下所示://简单函数function show(){echo "hello";}show();//有参数的函数function show($a){echo "$a";}show("world");//有返回值的函数function show(){return "小V,你好!";}echo show();function show($a,$b){return $a+$b;}echo show(10...
继续访问
PHP函数的定义
函数就是功能。封装一段用于完成特定功能的代码。调用一个函数就是在调用一个功能。 内置函数: PHP函数中有一些内置函数,这些函数是不能随便进行更改的; strtoupper() 和 strtolower()是两个内置的函数,用于对字符串进行大小写转换。 $str = 'ABcd'; $upper = strtoupper($str); // 调用strtoupper()函数将$str转换成大写 ...
继续访问
html按钮调用php函数,如何在html按钮上执行php函数点击
您的按钮是HTML,而您的功能是PHP。他们看起来像在一起,因为他们在同一个文件中,但他们不在一起。 PHP仅在服务器上存在。 HTML仅适用于客户端(浏览器)。当你在浏览器上看到按钮时,PHP就消失了,你只有HTML。要创建一个HTML按钮来调用一个PHP函数,您必须将您的函数移动到一个PHP文件,然后让您的按钮使用Ajax调用它。例如:bb1.html:包含使用Ajax调用PHP函数的按钮。f...
继续访问
php调用方式,php 函数调用的几种方式
// 最常见的函数调用 --- 1function userFunction1($param1, $param2){echo 'UserFunction1: Param1 : ',$param1,' , Param2 : ',$param2,'';}userFunction1('Hello','world');// 最常见的函数调用 --- 2$userFunction2 = function($...
继续访问
在上传文件中常用的PHP函数
注:做完upload上传漏洞后,收集了一些常用的PHP函数 1.
继续访问
热门推荐 php中in array函数_PHP函数in_array()使用详解
PHP有一个系统函数is_array()可以判断一个值是否在数组中。语法如下:in_array(value,array,type)return boolen参数说明:value :要搜索的值array : 被搜索的数组type : 类型,true全等 ,false非全等(默认)示例一:普通使用代码:$str = 1;$arr = array(1,3,5,7,9);$boolvalue = in_a...
继续访问
PHP函数(function)
函数基础 函数的定义: 形式: function 函数名 ( 【$形参1】 【,$形参2】 【,.... 】 ){ //函数体。。。。。。 } 说明: 1,定义时使用的形参,其实就是一个变量——只能在该函数内部使用的变量 2,形参作为变量,其名字是“自己定义”——自然应该遵循命名规范; 函数的调用: 函数名($实参1, $实参2, ..... ); 说明: 1,实参应该...
继续访问
PHP 函数调用
函数调用 函数调用时,实参要按照顺序给形参。 函数调用时,互相独立,默认没有联系。 执行完毕后,返回调用的位置,继续向下执行。 案例 <?php function A(){ echo "This is A fun!<hr />"; } function B(){ echo "Fun B begining<hr />"; A(); echo "Fun B end...
继续访问
PHP 函数 数组引用传参数
<?php function addElement($arr2,$school2) //数组是拷贝传值,数组作形参需要在前面加""符号,表示引用传参数。也可以在函数调用时,在实参前加""符号。 { $arr2[] = $school2; } $arr = array("张三","男",24); $school = "北京理工大学"; addElement($arr,$school)
继续访问
php round函数
php round函数用于对对浮点数进行四舍五入,其语法是round(x,prec),参数x可选,指规定要舍入的数字;prec可选,指规定小数点后的位数。 php round函数怎么用? 定义和用法 round() 函数对浮点数进行四舍五入。 语法 round(x,prec) 参数 x 可选。规定要舍入的数字。 prec 可选。规定小数点后的位数。 说明 返回将 x 根据指定精度 prec (十进...
继续访问
vscode跳转到php函数定义处
转:
继续访问
php函数中static的使用
php中static的定义语句只会被执行一次,但是它的值会被函数记住,直到程序终止 举个栗子: <?php function test() { //这个语句只会在该程序运行的第一次调用生效,但是这个值在函数执行结束后会被该函数记住, //也就是说下次执行到这个函数的,$a是已经存在的且值为上次运行后的值 static $a = 1; //只运行一次 ...
继续访问
最新发布 php的exec函数
新建一个php文件 输入命令执行 发现异常这是因为在php的配置文件中禁止了exec函数的运行,因此需要修改配置文件,使用下列代码找到配置文件 进入配置文件,将exec函数删除 重启php-fpm 然后发现可以正常运行 exec有三个参数,第二个和第三个参数不是必需的。第一个参数是执行的命令,第二个参数存储命令执行的输出,第三个参数返回执行的状态。...
继续访问
前端调用PHP函数的方式
html_entity_decode()<div class="rxzcB fl">{$service.introduction|html_entity_decode}</div>其中的service.introduction是从后端传过来的数据,此处的数据是html格式的,我们在前端希望看到通过浏览器解析过的文档格式,就可以调用PHP函数htmlentitydecode。比如,会将service.
继续访问
php函数-list函数
list()函数作用:将数组的元素变成变量使用 - 1.等号左边是list()函数,右边是索引数组(下标连续的,按0开始); - 2.数组中有几个元素,则list()有几个参数(参数必须是变量不能是值,而且变量是自定义的变量),跟数组的值是一一对应关系; - 3.在list()函数的参数中,空项也代表元素list($a, $b, $c) = ['aa', 'bb', 'cc'];
继续访问
php
PHP中的函数ThinkPHP中 C(),D(),S()
1.在具体的Action方法里面,可以用C()对某些参数进行动态配置,主要指那些还没有使用的参数。具体用法如下:
C('参数名称'); //获取已经设置的参数值
C('参数名称','新的参数值'); //设置新的值
2.D()函数的使用:
先定义好模型类,如UserModel,然后就可以用D()函数对数据进行操作了。例如:
先在"你的项目"\Lib\Model下建立一个名为UserModel.class.php的PHP脚本,内容如下:
class UserModel extends Model{}
然后,无需增加任何属性和方法,就可以进行如下操作:
$User = D("User"); //实例化User对象,User是你在数据库建立的一个名为"前缀_user"的数据表
也可以用$User = new UserModel()代替,进行实例化对象的操作。
实例化之后,就可以对数据进行增删查改等一系列操作了,如:
$User->find(1); //查找主键为1的记录
3.S()函数的使用:
ThinkPHP把各种缓存方式都抽象成统一的缓存类来调用,而且ThinkPHP把所有的缓存机制统一成一个S方法来进行操作,所以在使用
不同的缓存方式的时候并不需要关注具体的缓存细节。如:
S('data',$Data); //使用data标识缓存$Data数据
S('data',$Data,3600); //缓存$Data数据3600秒
$Data = S('data'); //获取缓存数据
PHP的常用系统函数有哪些PHP自带了大量的系统函数,使用这些函数可以完成大部分的任务。常用的有数学运算函数和日期时间函数。
1.数学运算函数:
数学运算是程序中最常执行的功能之一,PHP提供了很多系统函数实现运算功能,无须安装、编译和配置便可以直接使用。下表列出了常用的数学函数:
函数名称
功能描述
函数名称
功能描述
abs()
绝对值
is_finite()
判断是否为有限值
acos()
反余弦
is_infinite()
判断是否为无限值
acosh()
反双曲余弦
is_nan()
判断是否为合法数值
asin()
反正弦
lcg_value()
组合线性同余发生器
asinh()
反双曲正弦
log10()
以10为底的对数
atan2()
两个参数的反正切
log()
自然对数
atan()
反正切
max()
最大值
atanh()
反双曲正切
min()
最小值
base_convert()
在任意进制之间转换数字
mt_getrandmax()
显示随机数的最大可能值
bindec()
二进制转换为十进制
mt_rand()
生成更好的随机数
ceil()
进一法取整
mt_sran()
播下一个更好随机数种子
cos()
余弦
octdec()
八进制转换为十进制
cosh()
双曲余弦
pi()
圆周率
decbin()
十进制转换为二进制
pow()
指数表达式
dechex()
十进制转换为十六进制
rad2deg()
将弧度转换为相应的角度值
decoct()
十进制转换为八进制
rand()
产生一个随机数
deg2rad()
将角度转换为弧度
round()
对浮点数四舍五入
exp()
计算e的指数
sin()
正弦
floor()
舍去法取整
sinh()
双曲正弦
fmod()
返回除法的浮点数余数
sqrt()
平方根
getrandmax()
显示随机数最大的可能值
srand()
播下随机数发生器种子
hexdec()
十六进制转换为十进制
tan()
正切
hypot()
计算直角三角形的斜边长度
tanh()
双曲正切
注意:这些数学函数仅能处理计算机中integer和float范围的值。
示例:产生随机密码的的函数
function CreatePassword($length=6) //生成密码函数,默认6位
{
$dictionary=”abcdefghijklmnopqrstuvwxyz0123456789”; //密码字典
$maxChar=strlen($dictionary); //获取字典长度
$password=””;
for($i=0; $i<$length; $i++) //随机生成每一位
{
$password.=$dictionary[rand(0, $maxChar)]; //产生随机数,再从字典取字母
}
return $password;
}
2.日期和时间运算:
PHP提供了丰富的日期和时间方面运算的函数。
1)UNIX时间戳:
时间戳(Timestamp)是源于UNIX系统的时间表示方法,是指从1970年1月1日(0GMT)起到现在所经过的秒数,因此也称为UNIX时间戳。
在PHP中使用时间戳的最简单方式就是调用time()函数,time()函数可以根据当前时间返回一个时间戳的表示法。示例:
echo “当前时间戳为:”.time();
2)日期函数:
PHP提供的一些常用的日期函数。
①date()函数:
date()函数用于格式化一个本地日期和时间。语法格式为:
string date(string $format [, int $timestamp])
返回将整数$timestamp按照$format给定格式而产生的字符串。其中,$timestamp参数是可选的,如果没有给出时间戳,则使用本地当前时间,即time()。
下表列出了$format格式化字符串参数的说明:
值
说明
返回值
D
月份中的第几天,有前导零的2位数字
01到31
D
星期中的第几天,文本表示,3个字母
Mon到Sun
J
月份中的第几天,没有前导零
1到31
L
L的小写字母,表示星期几的完整文本格式
Sunday到Saturday
N
数字表示的星期中的第几天
1(表示星期一)到7(表示星期天)
S
每月天数后面的英文后缀,2个字符
st,nd,rd或th。可以和j一起用
W
星期中的第几天,数字表示
0(表示星期天)到6(表示星期六)
Z
年份中的第几天
0到366
W
年份中的第几周,每周从星期一开始
例如:42(当年的第42周)
F
月份,完整的文本格式,例如January
January到December
M
数字表示的月份,有前导零
01到12
M
3个字母缩写表示的月份
Jan到Dec
N
数字表示的月份,没有前导零
1到12
t
给定月份所应有的天数
28到31
L
是否为闰年
如果是闰年为1,否则为0
o
年份数字
例如:2016
Y
4位数字完整表示的年份
例如:2016
y
2位数字表示的年份
例如:16
a
小写的上午和下午值
am或pm
A
大写的上午和下午值
AM或PM
g
小时,12小时格式,没有前导零
1到12
G
小时,24小时格式,没有前导零
0到23
h
小时,12小时格式,有前导零
01到12
H
小时,24小时格式,有前导零
00到23
i
有前导零的分钟数
00到59
s
秒数,有前导零
00到59
e
时区标识
例如:UTC,GMT,Atlantic/Azores
I
是否为夏令时
如果是夏令时为1,否则为0
O
与格林威治时间相差的小时数
例如:+0200
Z
时差偏移量的秒数
-43200到43200
c
ISO8601格式的日期
2011-05-12T15:19:21+00:00
r
RFC822格式的日期
例如:Thu, 21 Dec 2011 06:07:08 +0200
U
从January 1 1970 0开始至今的秒数
与time()函数相同
示例:
$today=date(“m/d/y”); //结果为:07/19/12
$today=date(“F j, Y, g:i a”); //结果为:July 19, 2012, 9:07 am
$today=date(“Y年n月j日”); //结果为:2012年7月19日
$today=date(“Y-m-d H:i:s”); //结果为:2012-07-19 09:07:32
$today=date(“D M j G:i:s T Y”); //结果为:Thu Jul 19 9:07:32 CST 2012
$today=date(‘i t i s t h e jS d a y’); //结果为:07 31 07 32 31 09 Asia/Shanghai 19th 19 am 12
$today=date(‘\i\t \i\s \t\h\e jS \d\a\y’); //结果为:it is the 19th day
$today=date(‘H:m:s \m \i\s\ \m\o \h’); //结果为:09:07:32 m is month
②gmdate()函数:
gmdate()函数实现与date()函数相同的功能,不同的是gmdate()函数返回的时间是格林威治标准时间(GMT)。语法格式为:
string gmdate(string $format [, int $timestamp])
③getdate()函数:
getdate()函数用于获取指定的日期和时间信息。语法格式为:
array getdate([int $timestamp])
如果没有指定时间戳$timestamp,则使用系统当前的本地时间。getdate()函数返回一个数组,数组中的每个元素代表日期和时间中的特定组成部分。下表列出了返回数组中键名的说明:
键名
说明
返回值例子
seconds
秒的数字表示
0到59
minutes
分钟的数字表示
0到59
hours
小时的数字表示
0到23
mday
月份中的第几天的数字表示
1到31
wday
星期中的第几天的数字表示
0(表示星期天)到6(表示星期六)
mon
月份的数字表示
1到12
year
4位数字表示的完整年份
例如:2016
yday
一年中的第几天的数字表示
0到365
weekday
星期几的完整文本表示
Sunday到Saturday
month
月份的完整的文本表示
January到December
自从UNIX纪元开始至今的秒数
和time()的返回值类似,是一个时间戳
示例:
<?php
$today=getdate();
print_r($today);
printf(“今天是%s年%s月%s日 星期%s \n”, $today[“year”], $today[“mon”], $today[“mday”], $today[“wday”]);
printf(“现在时间是%s时%s分%s秒”, $today[“hours”], $today[“minutes”], $today[“seconds”]);
?>
执行后的结果为:
Arrar
(
[seconds]=>15
[minutes]=>37
[hours]=>9
[mday]=>19
[wday]=>4
[mon]=>7
[year]=>2016
[yday]=>200
[weekday]=>Thursday
[month]=>July
[0]=>1342661835
)
今天是2016年7月19日 星期4
现在时间是 9时37分15秒
④checkdate()函数:
checkdate()函数用于检查一个日期是否有效,有效则返回true,否则返回false。语法格式为:
bool checkdate(int $month, int $day, int $year)
当满足如下条件时,checkdate()函数将认为是一个有效的日期:
·$year的值是从1到32767
·$month的值是从1到12
·$day的值在给定的$month所应该具有的天数范围之内,包括闰年情况
示例:
echo checkdate(2,29,2012)?”有效”:”无效”;
2)时间函数:
①time()函数:
time()函数使用方法非常简单,没有参数调用后返回当前日期和时间的UNIX时间戳。语法格式为:
int time(void)
示例:
$next50day=time()+(50*24*60*60); //计算50天以后的日期
②mktime()函数:
mktime()函数的作用与time()函数相同,都可以返回一个时间戳表示的时间。不同的是,在mktime()函数中可以指定具体的日期和时间。语法格式为:
int mktime([int $hour],[int $minute],[int $second],[int $month], [int $day],[int $year])
上述参数列表从右向左顺序省略,任何省略的参数会被设置为本地日期和时间的当前值。如果指定的时间无法表示,则返回false。mktime()函数在做日期计算和验证方面很有用。示例:
$day1=mktime(0,0,0,12,25,2012);
$day2=mktime(0,0,0,10,1,2012);
$days=($day1-$day2)/(24*60*60); //根据时间戳计算出相差的天数
③strtotime()函数:
strtotime()函数用于将可阅读的英文日期/时间字符串转换成UNIX时间戳。语法格式:
int strtotime(string $time[, int $now])
其中,$time参数表示要被转换的字符串,$now表示计算返回值的时间戳。如果没有提供$now参数,将使用系统的当前时间。strtotime()函数成功时返回时间戳,否则返回false。
④microtime()函数:
microtime()函数调用后将返回当前UNIX时间戳和微秒数。语法格式为:
mixed microtime([bool $get_as_float])
这里的可选参数$get_as_float是一个布尔值,如果为true将返回一个浮点数。默认不带参数时将以“msec sec”格式返回一个字符串,其中msec是微秒部分,sec是UNIX时间戳。
PHP取整数函数常用的四种方法小结ceil
—
进一法取整
说明
float
ceil
(
float
value
)
返回不小于
value
的下一个整数,value
如果有小数部分则进一位。ceil()
返回的类型仍然是
float,因为
float
值的范围通常比
integer
要大。
例子
1.
ceil()
例子
复制代码
代码如下:
<?php
echo
ceil(4.3);
//
5
echo
ceil(9.999);
//
10
?>
floor
—
舍去法取整
说明
float
floor
(
float
value
)
返回不大于
value
的下一个整数,将
value
的小数部分舍去取整。floor()
返回的类型仍然是
float,因为
float
值的范围通常比
integer
要大。
例子
1.
floor()
例子
复制代码
代码如下:
<?php
echo
floor(4.3);
//
4
echo
floor(9.999);
//
9
?>
round
—
对浮点数进行四舍五入
说明
float
round
(
float
val
[,
int
precision]
)
返回将
val
根据指定精度
precision(十进制小数点后数字的数目)进行四舍五入的结果。precision
也可以是负数或零(默认值)。
例子
1.
round()
例子
复制代码
代码如下:
<?php
echo
round(3.4);
//
3
echo
round(3.5);
//
4
echo
round(3.6);
//
4
echo
round(3.6,
0);
//
4
echo
round(1.95583,
2);
//
1.96
echo
round(1241757,
-3);
//
1242000
echo
round(5.045,
2);
//
5.05
echo
round(5.055,
2);
//
5.06
?>
intval—对变数转成整数型态
例子intval()
复制代码
代码如下:
<?php
echo
intval(4.3);
//4
echo
intval(4.6);
//
4
?>
关于php函数可选方法的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php函数可选方法 php可选参数的详细内容...