本文目录一览:
php如何按数组键值排序?
array_change_key_case — 返回字符串键名全为小写或大写的数组
array_chunk — 将一个数组分割成多个
array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_count_values — 统计数组中所有的值出现的次数
array_diff_assoc — 带索引检查计算数组的差集
array_diff_uassoc — Computes the difference of arrays with additional index check which is performed by a user supplied callback function.
array_diff — 计算数组的差集
array_fill — 用给定的值填充数组
array_filter — 用回调函数过滤数组中的单元
array_flip — 交换数组中的键和值
array_intersect_assoc — 带索引检查计算数组的交集
array_intersect — 计算数组的交集
array_key_exists — 检查给定的键名或索引是否存在于数组中
array_keys — 返回数组中所有的键名
array_map — 将回调函数作用到给定数组的单元上
array_merge_recursive — 递归地合并两个或多个数组
array_merge — 合并两个或多个数组
array_multisort — 对多个数组或多维数组进行排序
array_pad — 用值将数组填补到指定长度
array_pop — 将数组最后一个单元弹出(出栈)
array_push — 将一个或多个单元压入数组的末尾(入栈)
array_rand — 从数组中随机取出一个或多个单元
array_reduce — 用回调函数迭代地将数组简化为单一的值
array_reverse — 返回一个单元顺序相反的数组
array_search — 在数组中搜索给定的值,如果成功则返回相应的键名
array_shift — 将数组开头的单元移出数组
array_slice — 从数组中取出一段
array_splice — 把数组中的一部分去掉并用其它值取代
array_sum — 计算数组中所有值的和
array_udiff_assoc — Computes the difference of arrays with additional index check. The data is compared by using a callback function.
array_udiff_uassoc — Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also
array_udiff — Computes the difference of arrays by using a callback function for data comparison.
array_unique — 移除数组中重复的值
array_unshift — 在数组开头插入一个或多个单元
array_values — 返回数组中所有的值
array_walk — 对数组中的每个成员应用用户函数
array — 新建一个数组
arsort — 对数组进行逆向排序并保持索引关系
asort — 对数组进行排序并保持索引关系
compact — 建立一个数组,包括变量名和它们的值
count — 统计变量中的单元数目
current — 返回数组中的当前单元
each — 返回数组中当前的键/值对并将数组指针向前移动一步
end — 将数组的内部指针指向最后一个单元
extract — 从数组中将变量导入到当前的符号表
in_array — 检查数组中是否存在某个值
key — 从结合数组中取得键名
krsort — 对数组按照键名逆向排序
ksort — 对数组按照键名排序
list — 把数组中的值赋给一些变量
natcasesort — 用“自然排序”算法对数组进行不区分大小写字母的排序
natsort — 用“自然排序”算法对数组排序
next — 将数组中的内部指针向前移动一位
pos — 得到数组当前的单元
prev — 将数组的内部指针倒回一位
range — 建立一个包含指定范围单元的数组
reset — 将数组的内部指针指向第一个单元
rsort — 对数组逆向排序
shuffle — 将数组打乱
sizeof — count() 的别名
sort — 对数组排序
uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
uksort — 使用用户自定义的比较函数对数组中的键名进行排序
usort — 使用用户自定义的比较函数对数组中的值进行排序
php合并数组并保留键值的实现方法
php合并数组,一般会使用array_merge方法。
array_merge
—
合并一个或多个数组
array
array_merge
(
array
$array1
[,
array
$…
]
)
array_merge
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
例子1,数组使用字符串键名,相同的键名会被后面的覆盖
?php
$arr1
=
array(‘name’=’fdipzone’);
$arr2
=
array(‘name’=’terry’);
$result
=
array_merge($arr1,
$arr2);
print_r($result);
?
输出:
Array
(
[name]
=
terry
)
例子2,数组使用数字键名,键名相同不会覆盖,且键名会重新索引
?php
$arr1
=
array(0=’fdipzone’,1=’terry’);
$arr2
=
array(0=’php’,1=’python’);
$result
=
array_merge($arr1,
$arr2);
print_r($result);
?
输出:
Array
(
[0]
=
fdipzone
[1]
=
terry
[2]
=
php
[3]
=
python
)
因工作需要,需要将调查问卷的两部分选择题的答案合并一起,每部分答案为数组(key=value),key为题号,value为答案,且两部分的题号不存在重复。
使用array_merge合并两部分答案
?php
$form_data1
=
array(11=’A’,12=’B’,13=’C’,14=’D’);
$form_data2
=
array(25=’B’,26=’A’,27=’D’,28=’C’);
$result
=
array_merge($form_data1,
$form_data2);
print_r($result);
?
输出:
Array
(
[0]
=
A
[1]
=
B
[2]
=
C
[3]
=
D
[4]
=
B
[5]
=
A
[6]
=
D
[7]
=
C
)
使用array_merge合并,因为题号(key)是数字,所以键名会重新索引,导致题号不能保留。
合并数组并保留键值的方法:
?php
$form_data1
=
array(11=’A’,12=’B’,13=’C’,14=’D’);
$form_data2
=
array(25=’B’,26=’A’,27=’D’,28=’C’);
$result
=
$form_data1
+
$form_data2;
print_r($result);
?
输出:
Array
(
[11]
=
A
[12]
=
B
[13]
=
C
[14]
=
D
[25]
=
B
[26]
=
A
[27]
=
D
[28]
=
C
)
使用
“+”
运算符合并数组,可以保留数组的键值,如果合并的数组中含有相同的键值,后面的不会覆盖前面的键值(前面的优先)。
以上这篇php合并数组并保留键值的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:php数组实现根据某个键值将相同键值合并生成新二维数组的方法PHP合并数组的2种方法小结PHP中数组合并的两种方法及区别介绍
在php中怎么排序键值数组
array_change_key_case — 返回字符串键名全为小写或大写的数组
array_chunk — 将一个数组分割成多个
array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
array_count_values — 统计数组中所有的值出现的次数
array_diff_assoc — 带索引检查计算数组的差集
array_diff_uassoc — Computes the difference of arrays with additional index check which is performed by a user supplied callback function.
array_diff — 计算数组的差集
array_fill — 用给定的值填充数组
array_filter — 用回调函数过滤数组中的单元
array_flip — 交换数组中的键和值
array_intersect_assoc — 带索引检查计算数组的交集
array_intersect — 计算数组的交集
array_key_exists — 检查给定的键名或索引是否存在于数组中
array_keys — 返回数组中所有的键名
array_map — 将回调函数作用到给定数组的单元上
array_merge_recursive — 递归地合并两个或多个数组
array_merge — 合并两个或多个数组
array_multisort — 对多个数组或多维数组进行排序
array_pad — 用值将数组填补到指定长度
array_pop — 将数组最后一个单元弹出(出栈)
array_push — 将一个或多个单元压入数组的末尾(入栈)
array_rand — 从数组中随机取出一个或多个单元
array_reduce — 用回调函数迭代地将数组简化为单一的值
array_reverse — 返回一个单元顺序相反的数组
array_search — 在数组中搜索给定的值,如果成功则返回相应的键名
array_shift — 将数组开头的单元移出数组
array_slice — 从数组中取出一段
array_splice — 把数组中的一部分去掉并用其它值取代
array_sum — 计算数组中所有值的和
array_udiff_assoc — Computes the difference of arrays with additional index check. The data is compared by using a callback function.
array_udiff_uassoc — Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also
array_udiff — Computes the difference of arrays by using a callback function for data comparison.
array_unique — 移除数组中重复的值
array_unshift — 在数组开头插入一个或多个单元
array_values — 返回数组中所有的值
array_walk — 对数组中的每个成员应用用户函数
array — 新建一个数组
arsort — 对数组进行逆向排序并保持索引关系
asort — 对数组进行排序并保持索引关系
compact — 建立一个数组,包括变量名和它们的值
count — 统计变量中的单元数目
current — 返回数组中的当前单元
each — 返回数组中当前的键/值对并将数组指针向前移动一步
end — 将数组的内部指针指向最后一个单元
extract — 从数组中将变量导入到当前的符号表
in_array — 检查数组中是否存在某个值
key — 从结合数组中取得键名
krsort — 对数组按照键名逆向排序
ksort — 对数组按照键名排序
list — 把数组中的值赋给一些变量
natcasesort — 用“自然排序”算法对数组进行不区分大小写字母的排序
natsort — 用“自然排序”算法对数组排序
next — 将数组中的内部指针向前移动一位
pos — 得到数组当前的单元
prev — 将数组的内部指针倒回一位
range — 建立一个包含指定范围单元的数组
reset — 将数组的内部指针指向第一个单元
rsort — 对数组逆向排序
shuffle — 将数组打乱
sizeof — count() 的别名
sort — 对数组排序
uasort — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
uksort — 使用用户自定义的比较函数对数组中的键名进行排序
usort — 使用用户自定义的比较函数对数组中的值进行排序
原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/129857.html