本文目錄一覽:
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/zh-hant/n/129857.html