php数组 函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php数组 函数相关的知识,希望对你有一定的参考价值。
is_array
(php 4, PHP 5, PHP 7)
is_array — 检测变量是否是数组
bool is_array ( mixed $var )
如果 var
是 array,则返回 TRUE
,否则返回 FALSE
。
explode
(PHP 4, PHP 5, PHP 7)
explode — 使用一个字符串分割另一个字符串
array explode ( string $delimiter , string $string [, int $limit ] )
此函数返回由字符串组成的数组,每个元素都是 string
的一个子串,它们被字符串 delimiter
作为边界点分割出来。
参数:
delimiter
-
边界上的分隔字符。
string
-
输入的字符串。
limit
-
如果设置了
limit
参数并且是正数,则返回的数组包含最多limit
个元素,而最后那个元素将包含string
的剩余部分。如果
limit
参数是负数,则返回除了最后的 -limit
个元素外的所有元素。如果
limit
是 0,则会被当做 1。
由于历史原因,虽然 implode() 可以接收两种参数顺序,但是 explode() 不行。你必须保证 separator
参数在 string
参数之前才行。
返回值:
此函数返回由字符串组成的 array,每个元素都是 string
的一个子串,它们被字符串 delimiter
作为边界点分割出来。
如果 delimiter
为空字符串(""),explode() 将返回 FALSE
。 如果 delimiter
所包含的值在 string
中找不到,并且使用了负数的 limit
, 那么会返回空的 array, 否则返回包含 string
单个元素的数组。
implode
(PHP 4, PHP 5, PHP 7)
implode — 将一个一维数组的值转化为字符串
说明
string implode ( string $glue , array $pieces )
string implode ( array $pieces )
用 glue
将一维数组的值连接为一个字符串。
Note:
因为历史原因,implode() 可以接收两种参数顺序,但是 explode() 不行。不过按文档中的顺序可以避免混淆。
参数:
glue
-
默认为空的字符串。
pieces
-
你想要转换的数组。
返回值:
返回一个字符串,其内容为由 glue 分割开的数组的值。
split
(PHP 4, PHP 5)
split — 用正则表达式将字符串分割到数组中
说明
array split ( string $pattern , string $string [, int $limit ] )
Tip
preg_split() 函数使用了 Perl 兼容正则表达式语法,通常是比 split() 更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。
本函数返回一个字符串数组,每个单元为 string
经区分大小写的正则表达式 pattern
作为边界分割出的子串。如果设定了 limit
,则返回的数组最多包含 limit
个单元,而其中最后一个单元包含了 string
中剩余的所有部分。如果出错,则 split() 返回 FALSE
。
如果字符串中有 n 个与 pattern
匹配的项目,则返回的数组将包含 n+1 个单元。例如,如果没有找到 pattern
,则会返回一个只有一个单元的数组。当然,如果 string
为空也是这样。
注意 pattern
是一个正则表达式。如果想要用的分割字符是正则表达式中的特殊字符,要先将其转义。
preg_split
(PHP 4, PHP 5, PHP 7)
preg_split — 通过一个正则表达式分隔字符串
说明:
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
通过一个正则表达式分隔给定字符串.
参数:
pattern
-
用于搜索的模式,字符串形式。
subject
-
输入字符串
limit
-
如果指定,将限制分隔得到的子串最多只有
limit
个,返回的最后一个 子串将包含所有剩余部分。limit
值为-1, 0或null时都代表"不限制", 作为php的标准,你可以使用null跳过对flags
的设置。 flags
-
flags
可以是任何下面标记的组合(以位或运算 | 组合):PREG_SPLIT_NO_EMPTY
- 如果这个标记被设置, preg_split() 将进返回分隔后的非空部分。
PREG_SPLIT_DELIM_CAPTURE
- 如果这个标记设置了,用于分隔的模式中的括号表达式将被捕获并返回。
PREG_SPLIT_OFFSET_CAPTURE
-
如果这个标记被设置, 对于每一个出现的匹配返回时将会附加字符串偏移量. 注意:这将会改变返回数组中的每一个元素, 使其每个元素成为一个由第0 个元素为分隔后的子串,第1个元素为该子串在
subject
中的偏移量组成的数组。
返回值:
返回一个使用 pattern
边界分隔 subject
后得到 的子串组成的数组。
注释:
如果你不需要正则表达式功能,可以有更快(并且更简单)的选择比如 explode() 或 str_split()。
如果没有成功匹配,将会返回一个数组,包含了单个元素,即输入的字符串。
unset
(PHP 4, PHP 5, PHP 7)
unset — 释放给定的变量
说明
void unset ( mixed $var [, mixed $... ] )
unset() 销毁指定的变量。
unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。
如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现
如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
如果在函数中 unset() 一个静态变量,那么在函数内部此静态变量将被销毁。但是,当再次调用此函数时,此静态变量将被复原为上次被销毁之前的值。
参数:
var
-
要销毁的变量。
...
-
其他变量......
返回值:
没有返回值。
注释:
Note: 因为是一个语言构造器而不是一个函数,不能被 可变函数 调用。
Note:
It is possible to unset even object properties visible in current context.
Note:
在 PHP 5 之前无法在对象里销毁 $this。
Note:
在 unset() 一个无法访问的对象属性时,如果定义了 __unset() 则对调用这个重载方法。
- array_change_key_case — 返回字符串键名全为小写或大写的数组
- array_chunk — 将一个数组分割成多个
- array_column — 返回数组中指定的一列
- array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
- array_count_values — 统计数组中所有的值出现的次数
- array_diff_assoc — 带索引检查计算数组的差集
- array_diff_key — 使用键名比较计算数组的差集
- array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集
- array_diff_ukey — 用回调函数对键名比较计算数组的差集
- array_diff — 计算数组的差集
- array_fill_keys — 使用指定的键和值填充数组
- array_fill — 用给定的值填充数组
- array_filter — 用回调函数过滤数组中的单元
- array_flip — 交换数组中的键和值
- array_intersect_assoc — 带索引检查计算数组的交集
- array_intersect_key — 使用键名比较计算数组的交集
- array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引
- array_intersect_ukey — 用回调函数比较键名来计算数组的交集
- array_intersect — 计算数组的交集
- array_key_exists — 检查给定的键名或索引是否存在于数组中
- array_keys — 返回数组中部分的或所有的键名
- array_map — 将回调函数作用到给定数组的单元上
- array_merge_recursive — 递归地合并一个或多个数组
- array_merge — 合并一个或多个数组
- array_multisort — 对多个数组或多维数组进行排序
- array_pad — 用值将数组填补到指定长度
- array_pop — 将数组最后一个单元弹出(出栈)
- array_product — 计算数组中所有值的乘积
- array_push — 将一个或多个单元压入数组的末尾(入栈)
- array_rand — 从数组中随机取出一个或多个单元
- array_reduce — 用回调函数迭代地将数组简化为单一的值
- array_replace_recursive — 使用传递的数组递归替换第一个数组的元素
- array_replace — 使用传递的数组替换第一个数组的元素
- array_reverse — 返回一个单元顺序相反的数组
- array_search — 在数组中搜索给定的值,如果成功则返回相应的键名
- array_shift — 将数组开头的单元移出数组
- array_slice — 从数组中取出一段
- array_splice — 把数组中的一部分去掉并用其它值取代
- array_sum — 计算数组中所有值的和
- array_udiff_assoc — 带索引检查计算数组的差集,用回调函数比较数据
- array_udiff_uassoc — 带索引检查计算数组的差集,用回调函数比较数据和索引
- array_udiff — 用回调函数比较数据来计算数组的差集
- array_uintersect_assoc — 带索引检查计算数组的交集,用回调函数比较数据
- array_uintersect_uassoc — 带索引检查计算数组的交集,用回调函数比较数据和索引
- array_uintersect — 计算数组的交集,用回调函数比较数据
- array_unique — 移除数组中重复的值
- array_unshift — 在数组开头插入一个或多个单元
- array_values — 返回数组中所有的值
- array_walk_recursive — 对数组中的每个成员递归地应用用户函数
- array_walk — 使用用户自定义函数对数组中的每个元素做回调处理
- array — 新建一个数组
- arsort — 对数组进行逆向排序并保持索引关系
- asort — 对数组进行排序并保持索引关系
- compact — 建立一个数组,包括变量名和它们的值
- count — 计算数组中的单元数目或对象中的属性个数
- current — 返回数组中的当前单元
- each — 返回数组中当前的键/值对并将数组指针向前移动一步
- end — 将数组的内部指针指向最后一个单元
- extract — 从数组中将变量导入到当前的符号表
- in_array — 检查数组中是否存在某个值
- key_exists — 别名 array_key_exists
- key — 从关联数组中取得键名
- krsort — 对数组按照键名逆向排序
- ksort — 对数组按照键名排序
- list — 把数组中的值赋给一些变量
- natcasesort — 用“自然排序”算法对数组进行不区分大小写字母的排序
- natsort — 用“自然排序”算法对数组排序
- next — 将数组中的内部指针向前移动一位
- pos — current 的别名
- prev — 将数组的内部指针倒回一位
- range — 建立一个包含指定范围单元的数组
- reset — 将数组的内部指针指向第一个单元
- rsort — 对数组逆向排序
- shuffle — 将数组打乱
- sizeof — count 的别名
- sort — 对数组排序
- uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
- uksort — 使用用户自定义的比较函数对数组中的键名进行排序
- usort — 使用用户自定义的比较函数对数组中的值进行排序
以上是关于php数组 函数的主要内容,如果未能解决你的问题,请参考以下文章
我正在编写一个 PHP 函数来搜索 Wordpress 模板文件中的邮政编码数组。为啥我的函数不返回值?