這篇文章主要介紹了關於PHP 常用函數集合,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
由 陳 創建,最後一次修改 2016-12-02
##由 陳 創建,最後一次修改 2016-12-02
定義與用法
語法
bool is_numeric ( mixed $var )
如果
var 是數字和數字字串則傳回
TRUE,否則回 參數 | |
---|---|
#var |
# 傳回值: |
|
<?php $Temperature = array(666,'w3cschool','666',null); foreach ($Temperature as $key => $value) { if(is_numeric($value)){ print("参数是数字或数字字符串<br/>"); }else{ print("参数不是数字或数字字符串<br/>"); } } ?>
--------------------------------------------------------
PHP Array 函数
从记录集中取出 last_name 列:
<?php// 表示由数据库返回的可能记录集的数组 $a = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates', ), array( 'id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Jobs', ), array( 'id' => 3809, 'first_name' => 'Mark', 'last_name' => 'Zuckerberg', ) ); $last_names = array_column($a, 'last_name'); print_r($last_names); ?>
输出:
Array ( [0] => Gates [1] => Jobs [2] => Zuckerberg )
array_column() 返回输入数组中某个单一列的值。
array_column(array,column_key,index_key);
参数 | 描述 |
---|---|
array | 必需。规定要使用的多维数组(记录集)。 |
column_key | 必需。需要返回值的列。 可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。 该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。 |
index_key | 可选。用作返回数组的索引/键的列。 |
返回值: | 返回数组,此数组的值为输入数组中某个单一列的值。 |
--------------------------------------------------------
PHP Array 函数
在数组中搜索键值 "red",并返回它的键名:
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue"); echo array_search("red",$a); ?>
运行实例
array_search() 函数在数组中搜索某个键值,并返回对应的键名。
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。
如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。
array_search(value,array,strict)
参数 | 描述 |
---|---|
value | 必需。规定需要搜素的键值。 |
array | 必需。规定被搜索的数组。 |
strict | 可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。 |
返回值: | 如果在数组中找到指定的键值,则返回对应的键名,否则返回 FALSE。 如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。 |
------------------------------------------------------------
PHP Array 函数
在数组中搜索值 "Glenn" ,并输出一些文本:
<?php $people = array("Bill", "Steve", "Mark", "David"); if (in_array("Mark", $people)) { echo "匹配已找到"; } else { echo "匹配未找到"; } ?>
运行实例
in_array() 函数搜索数组中是否存在指定的值。
注释:如果 search 参数是字符串且 type 参数被设置为 TRUE,则搜索区分大小写。
in_array(search,array,type)
参数 | 描述 |
---|---|
search | 必需。规定要在数组搜索的值。 |
array | 必需。规定要搜索的数组。 |
type | 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。 |
如果给定的值 search 存在于数组 array 中则返回 true。如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。
如果没有在数组中找到参数,函数返回 false。
注释:如果 search 参数是字符串,且 type 参数设置为 true,则搜索区分大小写。
返回值: | 如果在数组中找到值则返回 TRUE,否则返回 FALSE。 |
-----------------------------------------------------------------
PHP Array 函数
移除数组中重复的值:
<?php $a=array("a"=>"red","b"=>"green","c"=>"red"); print_r(array_unique($a)); ?>
运行实例
array_unique() 函数移除数组中的重复的值,并返回结果数组。
当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。
返回的数组中键名不变。
注释:被保留的数组将保持第一个数组项的键名类型。
array_unique(array)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
sortingtype | 可选。规定如何比较数组元素/项目。可能的值:
|
array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
返回值: | 返回被过滤的数组。 |
-------------------------------------------------------------------
PHP Array 函数
把两个数组合并为一个数组:
<?php $a1=array("red","green"); $a2=array("blue","yellow"); print_r(array_merge($a1,$a2)); ?>
运行实例
array_merge() 函数把一个或多个数组合并为一个数组。
提示:您可以向函数输入一个或者多个数组。
注释:如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。
注释:如果您仅向 array_merge() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引(参见下面的实例 1)。
提示:该函数与 array_merge_recursive() 函数之间的不同是在处理两个或更多个数组元素有相同的键名的情况。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
array_merge(array1,array2,array3...)
参数 | 描述 |
---|---|
array1 | 必需。规定数组。 |
array2 | 可选。规定数组。 |
array3 | 可选。规定数组。 |
返回值: | 返回合并的数组。 |
---------------------------------------------------------------------------------
PHP String 函数
把数组元素组合为字符串:
<?php $arr = array('Hello','World!','I','love','Shanghai!'); echo implode(" ",$arr); ?>
运行实例
implode() 函数返回由数组元素组合成的字符串。
注释:implode() 函数接受两种参数顺序。但是由于历史原因,explode() 是不行的,您必须保证 separator 参数在 string 参数之前才行。
注释:implode() 函数的 separator 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。
注释:该函数是二进制安全的。
implode(separator,array)
参数 | 描述 |
---|---|
separator | 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。 |
array | 必需。要组合为字符串的数组。 |
返回值: | 返回由数组元素组合成的字符串。 |
---------------------------------------------------------------------------
PHP Array 函数
返回数组中元素的数目:
<?php $cars=array("Volvo","BMW","Toyota"); echo count($cars); ?>
运行实例
count() 函数返回数组中元素的数目。
count(array,mode);
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
mode | 可选。规定模式。可能的值:
|
count() 函数计算数组中的单元数目或对象中的属性个数。
对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。
如果 mode 被设置为 COUNT_RECURSIVE(或 1),则会递归底计算多维数组中的数组的元素个数。
返回值: | 返回数组中元素的数目。 |
-------------------------------------------------------------------------
PHP Date / Time 函数
将英文文本日期时间解析为 Unix 时间戳:
<?php echo(strtotime("now") . "<br>"); echo(strtotime("15 October 1980") . "<br>"); echo(strtotime("+5 hours") . "<br>"); echo(strtotime("+1 week") . "<br>"); echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>"); echo(strtotime("next Monday") . "<br>"); echo(strtotime("last Sunday")); ?>
运行实例
strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数)。
注意:如果年份表示使用两位数格式,则值 0-69 会映射为 2000-2069,值 70-100 会映射为 1970-2000。
注意:请注意 m/d/y 或 d-m-y 格式的日期,如果分隔符是斜线(/),则使用美洲的 m/d/y 格式。如果分隔符是横杠(-)或者点(.),则使用欧洲的 d-m-y 格式。为了避免潜在的错误,您应该尽可能使用 YYYY-MM-DD 格式或者使用 date_create_from_format() 函数。
strtotime(time,now);
参数 | 描述 |
---|---|
time | 必需。规定日期/时间字符串。 |
now | 可选。规定用来计算返回值的时间戳。如果省略该参数,则使用当前时间。 |
返回值: | 若成功则返回时间戳,失败则返回 FALSE。 |
---|
----------------------------------------------------------------
PHP Array 函数
返回数组的所有值(非键名):
<?php $a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA"); print_r(array_values($a)); ?>
运行实例
array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。
提示:被返回的数组将使用数值键,从 0 开始并以 1 递增。
array_values(array)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
返回值: | 返回包含数组中所有的值的数组。 |
-------------------------------------------------------
import方法是ThinkPHP框架用于类库导入的封装实现,尤其对于项目类库、扩展类库和第三方类库的导入支持,import方法早期的版本可以和java的import方法一样导入目录和通配符导入,后来考虑到性能问题,在后续的版本更新中不断改进和简化了,所以现在的用法比较简单明了。调用格式:
import('类库名', '起始路径', '类库后缀')
imprt方法有一个别名vendor方法,专门用于导入第三方类库,区别在于起始路径和类库后缀默认值不同。
我们来分析下具体的用法:
导入系统基类库
系统基类库其实就是指的Think类库包,所在目录就是指框架的核心Lib目录,import方法可以用于导入系统基类库,例如:
import('Think.Util.Array');
复制代码
表示导入系统目录下面的Lib/Util/Array.class.php 类库文件,相当于我们这样使用
require THINK_PATH.'Lib/Util/Array.class.php';
复制代码
可以支持多级目录,例如:
import('Think.Util.U1.ClassA');
复制代码
import('Think.Util.U1.A2.ClassB');
复制代码
通过import方法导入类库后,就可以进行类库的实例化操作了。
导入扩展类库
扩展类库位于Extend/Library目录下面,这是系统的公共扩展类库目录,目前支持的扩展类库包只有ORG和Com包。
import('ORG.Util.Image'); import('Com.Sina.OAuth');
复制代码
会导入扩展目录下面的第三方类库(分别是Extend/Library/ORG/Util/Image.class.php和Extend/Library/Com/Sina/OAuth.class.php 类库文件),第三方类库包只能支持ORG和Com两种,下面的子目录可以随意添加。
导入项目应用类库
如果没有指定起始导入路径的话,类库包Think、ORG、Com之外的都会被认为是导入项目应用类库,例如:
import("MyApp.Action.UserAction"); import("MyApp.Model.InfoModel");
复制代码
表示导入MyApp项目的UserAction和InfoModel类库文件,由于通常,我们都是导入当前项目下面的类库,所以可以简写成:
import("@.Action.UserAction"); import("@.Model.InfoModel");
复制代码
@符号表示导入当前项目下面的类库,这种方式也一定程度上方便了项目类库的代码移植,如果项目名称改变或者移动到其它项目下面的时候,写法不需要改变。
导入非标准类库文件
这里所说的非标准类库文件,主要是指位于特殊位置或者非.class.php后缀的类库文件。像导入基类库、扩展类库和项目类库都是基于框架规范的目录下面,如果我们需要导入项目的Common目录下面的MyClass.php文件,则可以采用:
import('Common.MyClass',APP_PATH,'.php');
复制代码
或者
import('MyClass',APP_PATH.'Common','.php');
复制代码
或者要导入当前目录下面的RBAC类库
import("RBAC.AccessDecisionManager",dirname(__FILE__),".php");
复制代码
还有一种特殊情况,是类库命名的特殊性。按照系统的规则,import方法是无法导入具有点号的类库文件的,因为点号会直接转化成斜线,例如我们定义了一个名称为User.Info.class.php 的文件的话,采用:
import("ORG.User.Info");
复制代码
方式加载的话就会出现错误,导致加载的文件不是ORG/User.Info.class.php 文件,而是ORG/User/Info.class.php 文件,这种情况下,我们可以使用:
import("ORG.User#Info");
复制代码
来导入。
第三方类库导入
ThinkPHP 的基类库都是以.class.php 为后缀的,这是系统内置的一个约定,当然也可以通过 import 的参数来控制, 为了更加方便引入其他框架和系统的类库, 系统还提供了一个import方法的别名vendor,专门用于导入第三方类库,并且默认的起始目录和类文件后缀有区别。第三方类库位于系统扩展目录下的Vendor 目录, 例如,我们把 Zend 的 Filter\Dir.php 放到 Vendor 目录下面,这个时候 Dir 文件的路径就是 Vendor\Zend\Filter\Dir.php,我们使用vendor 方法导入只需要使用:
Vendor('Zend.Filter.Dir');
复制代码
就可以导入Dir类库了。
Vendor方法也可以支持和import方法一样的基础路径和文件名后缀参数,例如:
Vendor('Zend.Filter.Dir',dirname(__FILE__),'.class.php');
复制代码
别名导入
除了命名空间的导入方式外,import方法还可以支持别名导入,要使用别名导入,首先要定义别名,我们可以在项目配置目录下面增加alias.php 用以定义项目中需要用到的类库别名,例如:
return array( 'rbac' =>LIB_PATH.'Common/Rbac.class.php', 'page' =>LIB_PATH.'Common/Page.class.php', );
复制代码
那么,现在就可以直接使用:
import("rbac"); import("page");
复制代码
导入Rbac和Page类,别名导入方式禁止使用import方法的第二和第三个参数,别名导入方式的效率比命名空间导入方式要高效,缺点是需要预先定义相关别名。
可以为某些需要的类库定义别名,那么无需定义自动加载路径也可以快速的自动加载。
一般情况下,由于框架内部采用了自动加载方式,所以大多数情况下面不需要用户手动导入类库文件,通常用于导入扩展类库和第三方类库的情况居多。而且配合别名定义和自动加载路径的定义,也能减少用户手动导入类库的情况。
------------------------------------------------------------------
is_numcomma()检测变量是否是数字或逗号。
------------------------------------------------------------------
PHP String 函数
把数组元素组合为一个字符串:
<?php $arr = array('Hello','World!','I','love','Shanghai!'); echo join(" ",$arr); ?>
运行实例
join() 函数返回由数组元素组合成的字符串。
join() 函数是 implode() 函数的别名。
注释:join() 函数接受两种参数顺序。但是由于历史原因,explode() 是不行的,您必须保证 separator 参数在 string 参数之前才行。
注释:join() 函数的 separator 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。
join(separator,array)
参数 | 描述 |
---|---|
separator | 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。 |
array | 必需。要组合为字符串的数组。 |
返回值: | 返回由数组元素组合成的字符串。 |
--------------------------------------------------------------------
PHP String 函数
把字符串打散为数组:
<?php $str = "Hello world. I love Shanghai!"; print_r (explode(" ",$str)); ?>
运行实例
explode() 函数把字符串打散为数组。
注释:"separator" 参数不能是空字符串。
注释:该函数是二进制安全的。
explode(separator,string,limit)
参数 | 描述 |
---|---|
separator | 必需。规定在哪里分割字符串。 |
string | 必需。要分割的字符串。 |
limit | 可选。规定所返回的数组元素的数目。 可能的值:
|
返回值: | 返回字符串的数组 |
PHP 版本: | 4+ |
更新日志: | 在 PHP 4.0.1 中,新增了 limit 参数。在 PHP 5.1.0 中,新增了对负数 limit 的支持。 |
使用 limit 参数来返回一些数组元素:
<?php $str = 'one,two,three,four';// 零 limitprint_r(explode(',',$str,0));// 正的 limitprint_r(explode(',',$str,2));// 负的 limitprint_r(explode(',',$str,-1)); ?>
------------------------------------------------------------------
(PHP 4,PHP 5,PHP 7)
ini_set—设置一个配置选项的值
字符串 ini_set(字符串 varname美元
,字符串 美元的价值
)
设置一个配置选项的值。配置选项 将脚本的执行过程中保持这种新的价值,并将恢复 在剧本的结尾。
变量名
不是所有可用的选项可以使用ini_set()。有一个列表中的所有可用的选项 在附录。
新的价值
对于期权的新价值。
如果成功返回旧值,错误的
对失效。
1例# INI选项设置
<?PHP 回声ini_get(“display_errors”); 如果(!ini_get(“display_errors”)){ ini_set(“display_errors”,“1”); } 回声ini_get(“display_errors”); ?>
get_cfg_var()-获取一个PHP配置选项的值
ini_get()-获取配置选项的值
ini_get_all()-获取所有配置选项
ini_restore()恢复一个配置选项的值
如何更改配置設定
------------------- ------------------------------------------------
PHP Calendar
PHP Directory
Date/Time 函數可讓您從PHP 腳本執行的伺服器上取得日期和時間。您可以使用 Date/Time 函數透過不同的方式來格式化日期和時間。
註解:這些函數依賴伺服器的本機設定。使用這些函數時請記住要考慮夏令時和閏年。
PHP Date/Time 函數是 PHP 核心的組成部分。無需安裝即可使用這些函數。
Date/Time 函數的行為受到php.ini 中設定的影響:
名稱 | 描述 | 預設 | PHP 版本 |
---|---|---|---|
date.timezone | 預設時區(所有的Date/Time 函數都使用該選項) | "" | PHP 5.1 |
date.default_latitude | 預設緯度(date_sunrise() 和date_sunset() 使用該選項) | "31.7667" | PHP 5.0 |
預設經度(date_sunrise() 和date_sunset()使用該選項) | "35.2333" | PHP 5.0 | |
#預設日出天頂(date_sunrise( ) 和date_sunset() 使用該選項) | "90.83" | PHP 5.0 | |
預設日落天頂(date_sunrise() 和date_sunset() 使用該選項) | "90.83" | PHP 5.0 |
函數 | |
---|---|
#checkdate() | 驗證格利高里日期。 |
date_add() | 加入日、月、年、時、分和秒到日期。 |
date_create_from_format() | 會傳回根據指定格式進行格式化的新的 DateTime 物件。 |
date_create() | 傳回新的 DateTime 物件。 |
date_date_set() | 設定新日期。 |
date_default_timezone_get() | 會傳回所有的 Date/Time 函數所使用的預設時區。 |
date_default_timezone_set() | 設定由所有的 Date/Time 函數使用的預設時區。 |
date_diff() | 傳回兩個日期間的差值。 |
date_format() | 傳回根據指定格式進行格式化的日期。 |
date_get_last_errors() | 傳回日期字串中的警告/錯誤。 |
date_interval_create_from_date_string() | 從字串的相關部分建立 DateInterval。 |
date_interval_format() | 格式化時間間隔。 |
date_isodate_set() | 設定 ISO 日期。 |
date_modify() | 修改時間戳記。 |
date_offset_get() | 傳回時區偏移量。 |
date_parse_from_format() | #根據指定的格式傳回帶有關於指定日期的詳細資訊的關聯數組。 |
date_parse() | 傳回帶有關於指定日期的詳細資訊的關聯陣列。 |
date_sub() | 從指定日期減去日、月、年、時、分和秒。 |
date_sun_info() | 傳回包含指定日期與地點的日出/日落和黃昏開始/黃昏結束的資訊的陣列。 |
date_sunrise() | 傳回指定日期與位置的日出時間。 |
date_sunset() | 傳回指定日期與位置的日落時間。 |
date_time_set() | 設定時間。 |
date_timestamp_get() | 傳回 Unix 時間戳記。 |
date_timestamp_set() | 設定基於 Unix 時間戳記的日期和時間。 |
date_timezone_get() | 傳回給定 DateTime 物件的時區。 |
date_timezone_set() | 設定 DateTime 物件的時區。 |
date() | 格式化本機日期和時間。 |
getdate() | 傳回某個時間戳記或目前本機的日期/時間的日期/時間資訊。 |
gettimeofday() | #傳回目前時間。 |
gmdate() | 格式化 GMT/UTC 日期和時間。 |
gmmktime() | 傳回 GMT 日期的 UNIX 時間戳記。 |
gmstrftime() | 根據區域設定對 GMT/UTC 日期和時間進行格式化。 |
idate() | 將本機時間/日期格式化為整數。 |
localtime() | 傳回本機時間。 |
microtime() | 傳回目前時間的微秒數。 |
mktime() | 傳回日期的 Unix 時間戳記。 |
strftime() | 根據區域設定對本機時間/日期進行格式化。 |
strptime() | 解析由 strftime() 產生的時間/日期。 |
strtotime() | 將任何英文文字的日期或時間描述解析為 Unix 時間戳記。 |
time() | 傳回目前時間的 Unix 時間戳記。 |
timezone_abbreviations_list() | 傳回包含夏令時、偏移量和時區名稱的關聯陣列。 |
timezone_identifiers_list() | 傳回帶有所有時區識別碼的索引陣列。 |
timezone_location_get() | 傳回指定時區的位置資訊。 |
timezone_name_from_abbr() | #根據時區縮寫傳回時區名稱。 |
timezone_name_get() | 傳回時區的名稱。 |
timezone_offset_get() | 傳回相對於 GMT 的時區偏移量。 |
timezone_open() | 建立新的 DateTimeZone 物件。 |
timezone_transitions_get() | 傳回時區的所有轉換。 |
timezone_version_get() | 傳回時區資料庫的版本。 |
常數 | 描述 |
---|---|
Atom (例如:2005-08-15T16:13:03 0000) | |
HTTP Cookies (例如:Sun, 14 Aug 2005 16:13:03 UTC) | |
ISO-8601 (例如:2005-08-14T16:13:03 0000) | |
RFC 822 (例如:Sun, 14 Aug 2005 16:13:03 UTC) | |
RFC 850 (例如:Sunday, 14-Aug-05 16:13:03 UTC) | |
RFC 1036 (例如:Sunday, 14-Aug-05 16:13:03 UTC) | |
RFC 1123 (例如:Sun, 14 Aug 2005 16:13:03 UTC) |
格式字串可以辨識下列format 參數的字串format 字元 說明 回傳值範例
日 --- ---
d 月份中的第幾天,有前導零月份的2 位數字 01 到31
D 01 到31
D 01 到31
D 中的第幾天,文字表示,3 個字母 Mon 到Sun
j 月份中的第幾天,沒有前導零 L"的小寫字母) 星期幾,完整的文字格式 Sunday 到Saturday
N ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) 表示星期日)
S 每月天數後面的英文後綴,2 個字元 st,nd,rd 或th。可以和j 一起用
w 星期中的第幾天,數字表示 0(表示星期日)到6(表示星期六)
z 年份中的第幾天 0 到365
--
W ISO-8601 格式年份中的第幾週,每週從星期一開始(PHP 4.1.0 新加的) 例如:42(當年的第42 週)
月 --- --
F 月份,完整的文字格式,例如January 或March January 到December
m 數字表示的月份,有前導零 01 到12
M ##n 數字表示的月份,沒有前導零 1 到12
t 給定月份所應有的天數 28 到31
年1,否則為0
o ISO-8601 格式年份數字。這和 Y 的值相同,只除瞭如果 ISO 的星期數(W)屬於前一年或下一年,則用那一年。 (PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位數字完整表示的年份 例如:1999 或2003
y - ---
a 小寫的上午和下午值 am 或pm
A 大寫的上午和下午值 AM 或PM
B Swatch Internet Internet 標準時使用沒有前導零 1 到12
G 小時,24 小時格式,沒有前導零 0 到23
h 小時,12 小時格式,有前導零 零 00 到23
i 有前導零的分鐘數 00 到59>
s 秒數,有前導零 00 到59>##2 需要注意的是 date() 函數總是傳回 000000 因為它只接受 integer 參數, 而 DateTime::format() 才支援毫秒。範例: 654321
時區 --- ---
e 時區識別(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores#I ,否則為0
O 與格林威治時間相差的小時數 例如: 0200
P 與格林威治時間(GMT)的差別,小時和分鐘之間有冒號分隔(PHP 5.1.3 新加) 例如: 02:00
T 本機所在的時區 例如:EST,MDT(【譯者註】在Windows 下為完整文字格式,例如"Eastern Standard Time",中文版會顯示"中國標準時間" )。
Z 時差偏移量的秒數。 UTC 西邊的時區偏移總是負的,UTC 東邊的時區偏移量總是正的。 -43200 到 43200
完整的日期/時間 --- ---
c ISO 8601 格式的日期(PHP 5 新加) ISO 8601 格式的日期(PHP 5 新加) ISO 8601 格式的日期(PHP 5 新加) r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 参见 time()
-------------------------------------------------------------------------
(PHP 5 >= 5.2.0, PHP 7)
preg_last_error — 返回最后一个PCRE正则执行产生的错误代码
int preg_last_error ( void )
返回最后一次PCRE正则执行的错误代码。
Example #1 preg_last_error() 示例
<?php preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar'); if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) { print 'Backtrack limit was exhausted!'; } ?>
以上例程会输出:
Backtrack limit was exhausted!
返回下面常量中的一个(查看它们自身的解释):
PREG_NO_ERROR
PREG_INTERNAL_ERROR
PREG_BACKTRACK_LIMIT_ERROR
(参见 pcre.backtrack_limit)
PREG_RECURSION_LIMIT_ERROR
(参见 pcre.recursion_limit)
PREG_BAD_UTF8_ERROR
PREG_BAD_UTF8_OFFSET_ERROR
(自 PHP 5.3.0 起)
PREG_JIT_STACKLIMIT_ERROR
(自 PHP 7.0.0 起)
----------------------------------------------------------------------------------------------------
array_diff() 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。
在返回的数组中,键名保持不变。
array_diff(array1,array2,array3...);
参数 | 描述 |
---|---|
array1 | 必需。与其他数组进行比较的第一个数组。 |
array2 | 必需。与第一个数组进行比较的数组。 |
array3,... | 可选。与第一个数组进行比较的其他数组。 |
提示:可用一个或任意多个数组与第一个数组进行比较。
注释:仅有值用于比较。
返回值: | 返回差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键值。 |
----------------------------------------------- -------------------------------------------
(PHP 5 > = 5.2.0,PHP 7,PECL的JSON > = 1.2.0)
json_decode—解碼JSON字串
混合的 json_decode(字串 JSON美元
【,布林 有關美元
=錯誤的
【,int 為深度
= 512【,int $選項
= 0] ] ])
以一個JSON編碼的字串轉換為一個PHP變數。
JSON
#這個JSON
字串解碼。
此功能只適用於UTF-8編碼的字串。
註:
協會
什麼時候真的
,傳回目標會轉換成聯想陣列S.
深度
使用者指定的遞歸深度。
選項
#Bitmask的JSON解碼選項。目前有兩支 選項。第一個是json_bigint_as_string
這 允許鑄造大整數的字串而不是漂浮,這是 預設。第二選項json_object_as_array
有相同的效果作為背景協會
到真的
。
傳回的值編碼JSON
#在適當的 PHP類型。價值觀真正的,假和無效的回傳真的
,錯誤的
和無效的
分別。 無效的
傳回如果JSON
不能 被解碼或編碼的資料比遞歸極限深度。
--------------------------------------------------------- addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。 预定义字符是:
提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。 注释:默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。 语法addslashes(string) 登入後複製 技术细节返回值:返回已转义的字符串。 ------------------------------------------------------------------------------------stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。提示:该函数可用于清理从数据库中或者从 HTML 表单中取回的数据。语法stripslashes(string)参数描述string必需。规定要检查的字符串。技术细节返回值:返回已剥离反斜杠的字符串。相關推薦: 以上是PHP 常用函數集合的詳細內容。更多資訊請關注PHP中文網其他相關文章! 本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
PHP數組從URL參數中取得的行為不如預期
我有一個包含類別ID的URL參數,我想將其視為一個數組,如下所示:http://example.com?cat[]=3,9,13在PHP中,我使用它從URL參數取得數組:$catI...
來自於 2024-04-06 22:09:02
0
1
1428
我應該在 apache 中哪裡放置 CustomLog 指令
我正在使用php:7.2-apachedocker。我需要禁用運行狀況檢查url登入訪問日誌。基於此鏈接,他們提到了有關修改Customlog指令的資訊。我不是關於需要更改Cust...
來自於 2024-04-06 22:03:59
0
1
990
傳回值中變數的格式是什麼?
我是php的新學習者。我發現有一段程式碼:if($x<time()){return[false,'error'];}邏輯或變數並不重要,但我不明白[false,'error'...
來自於 2024-04-06 21:55:20
0
1
778
依照ID對MySQL結果進行分組以便循環遍歷
我有一個表,其中有mysql中的航班資料。我正在編寫一個php程式碼,它將使用codeigniter3對資料進行分組和顯示journey_idair_idFlightDuratio...
來自於 2024-04-06 17:27:56
0
1
406
相關專題
更多>
熱門教學
更多>
|