讓我們來體驗一下多位數組的魅力吧!
多維數組就是一個數組里面包含一個或多個數組,這就是多維數組。下面用多維數組來編寫一個小案例(代碼在圖片下面):
1 <meta http-equiv="contnet-type" content="text/html" charset="utf-8"/> 2 <?php 3 $array=array(array("姚遠",1999,"中國"),array("嘿嘿",13,"b"),array("溜溜",44,"c")); 4 print_r($array); 5 echo "<br/>我的名字:".$array['0'][0]; 6 echo "<br/>我的年齡:".$array['0'][1]; 7 echo "<br/>我的國家:".$array['0'][2]; 8 ?>
下面可以在多維數組中指定分配id鍵,案例如下圖(代碼在圖片后面):
下面是代碼部分:
1 <meta http-equiv="contnet-type" content="text/html" charset="utf-8"/> 2 <?php 3 $array=array("姚遠"=>array("姚遠",1999,"中國"),"比爾蓋茨"=>array("比爾蓋茨",1987,"美國"),"喬布斯"=>array("喬布斯",1887,"美國")); 4 print_r($array); 5 echo "<br/>我的名字:".$array['姚遠'][0]; 6 echo "<br/>我的出生日期:".$array['姚遠'][1]; 7 echo "<br/>我的國家:".$array['姚遠'][2]; 8 ?>
php 中的數組實際上是一個有序圖。圖是一種把 values 映射到 keys 的類型。此類型在很多方面做了優化,因此可以把它當成真正的數組來使用,或列表(矢量),散列表(是圖的一種實現),字典,集合,棧,隊列以及更多可能 性。因為可以用另一個 php 數組作為值,也可以很容易地模擬樹。
下面我收集數組大部分的array函數:
描述
|
|
---|---|
array()
|
創建數組。
|
array_change_key_case()
|
返回其鍵均為大寫或小寫的數組。
|
array_chunk()
|
把一個數組分割為新的數組塊。
|
array_column()
|
返回輸入數組中某個單一列的值。
|
array_combine()
|
通過合並兩個數組(一個為鍵名數組,一個為鍵值數組)來創建一個新數組。
|
array_count_values()
|
用於統計數組中所有值出現的次數。
|
array_diff()
|
比較數組,返回兩個數組的差集(只比較鍵值)。
|
array_diff_assoc()
|
比較數組,返回兩個數組的差集(比較鍵名和鍵值)。
|
array_diff_key()
|
比較數組,返回兩個數組的差集(只比較鍵名)。
|
array_diff_uassoc()
|
比較數組,返回兩個數組的差集(比較鍵名和鍵值,使用用戶自定義的鍵名比較函數)。
|
array_diff_ukey()
|
比較數組,返回兩個數組的差集(只比較鍵名,使用用戶自定義的鍵名比較函數)。
|
array_fill()
|
用給定的鍵值填充數組。
|
array_fill_keys()
|
用給定的指定鍵名的鍵值填充數組。
|
array_filter()
|
用回調函數過濾數組中的元素。
|
array_flip()
|
反轉/交換數組中的鍵名和對應關聯的鍵值。
|
array_intersect()
|
比較數組,返回兩個數組的交集(只比較鍵值)。
|
array_intersect_assoc()
|
比較數組,返回兩個數組的交集(比較鍵名和鍵值)。
|
array_intersect_key()
|
比較數組,返回兩個數組的交集(只比較鍵名)。
|
array_intersect_uassoc()
|
比較數組,返回兩個數組的交集(比較鍵名和鍵值,使用用戶自定義的鍵名比較函數)。
|
array_intersect_ukey()
|
比較數組,返回兩個數組的交集(只比較鍵名,使用用戶自定義的鍵名比較函數)。
|
array_key_exists()
|
檢查指定的鍵名是否存在於數組中。
|
array_keys()
|
返回數組中所有的鍵名。
|
array_map()
|
將用戶自定義函數作用到給定數組的每個值上,返回新的值。
|
array_merge()
|
把一個或多個數組合並為一個數組。
|
array_merge_recursive()
|
遞歸地把一個或多個數組合並為一個數組。
|
array_multisort()
|
對多個數組或多維數組進行排序。
|
array_pad()
|
將指定數量的帶有指定值的元素插入到數組中。
|
array_pop()
|
刪除數組中的最后一個元素(出棧)。
|
array_product()
|
計算數組中所有值的乘積。
|
array_push()
|
將一個或多個元素插入數組的末尾(入棧)。
|
array_rand()
|
從數組中隨機選出一個或多個元素,返回鍵名。
|
array_reduce()
|
通過使用用戶自定義函數,迭代地將數組簡化為一個字符串,並返回。
|
array_replace()
|
將所有被替換數組中的元素替換成第一個數組。
|
array_replace_recursive()
|
將所有被替換數組中的元素遞歸地替換成第一個數組。
|
array_reverse()
|
將原數組中的元素順序翻轉,創建新的數組並返回。
|
array_search()
|
在數組中搜索給定的值,如果成功則返回相應的鍵名。
|
array_shift()
|
刪除數組中的第一個元素,並返回被刪除元素的值。
|
array_slice()
|
返回數組中的選定部分。
|
array_splice()
|
把數組中的指定元素去掉並用其它值取代。
|
array_sum()
|
返回數組中所有值的和。
|
array_udiff()
|
比較數組,返回兩個數組的差集(只比較鍵值,使用一個用戶自定義的鍵名比較函數)。
|
array_udiff_assoc()
|
比較數組,返回兩個數組的差集(比較鍵名和鍵值,使用內建函數比較鍵名,使用用戶自定義函數比較鍵值)。
|
array_udiff_uassoc()
|
比較數組,返回兩個數組的差集(比較鍵名和鍵值,使用兩個用戶自定義的鍵名比較函數)。
|
array_uintersect()
|
比較數組,返回兩個數組的交集(只比較鍵值,使用一個用戶自定義的鍵名比較函數)。
|
array_uintersect_assoc()
|
比較數組,返回兩個數組的交集(比較鍵名和鍵值,使用內建函數比較鍵名,使用用戶自定義函數比較鍵值)。
|
array_uintersect_uassoc()
|
比較數組,返回兩個數組的交集(比較鍵名和鍵值,使用兩個用戶自定義的鍵名比較函數)。
|
array_unique()
|
刪除數組中重復的值。
|
array_unshift()
|
在數組開頭插入一個或多個元素。
|
array_values()
|
返回數組中所有的值。
|
array_walk()
|
對數組中的每個成員應用用戶函數。
|
array_walk_recursive()
|
對數組中的每個成員遞歸地應用用戶函數。
|
arsort()
|
對關聯數組按照鍵值進行降序排序。
|
asort()
|
對關聯數組按照鍵值進行升序排序。
|
compact()
|
創建一個包含變量名和它們的值的數組。
|
count()
|
返回數組中元素的數目。
|
current()
|
返回數組中的當前元素。
|
each()
|
返回數組中當前的鍵/值對。
|
end()
|
將數組的內部指針指向最后一個元素。
|
extract()
|
從數組中將變量導入到當前的符號表。
|
in_array()
|
檢查數組中是否存在指定的值。
|
key()
|
從關聯數組中取得鍵名。
|
krsort()
|
對關聯數組按照鍵名降序排序。
|
ksort()
|
對關聯數組按照鍵名升序排序。
|
list()
|
把數組中的值賦給一些數組變量。
|
natcasesort()
|
用"自然排序"算法對數組進行不區分大小寫字母的排序。
|
natsort()
|
用"自然排序"算法對數組排序。
|
next()
|
將數組中的內部指針向前移動一位。
|
pos()
|
current() 的別名。
|
prev()
|
將數組的內部指針倒回一位。
|
range()
|
創建一個包含指定范圍的元素的數組。
|
reset()
|
將數組的內部指針指向第一個元素。
|
rsort()
|
對數值數組進行降序排序。
|
shuffle()
|
把數組中的元素按隨機順序重新排列。
|
sizeof()
|
count() 的別名。
|
sort()
|
對數值數組進行升序排序。
|
uasort()
|
使用用戶自定義的比較函數對數組中的鍵值進行排序。
|
uksort()
|
使用用戶自定義的比較函數對數組中的鍵名進行排序。
|
usort()
|
使用用戶自定義的比較函數對數組進行排序。
|