本文實例總結了php常用數組array函數。分享給大家供大家參考,具體如下:
array_combine
功能:用一個數組的值作為新數組的鍵名,另一個數組的值作為新數組的值
案例:
1
2
3
4
5
6
7
8
|
<?php $a = array ( "one" , "two" , "three" ); $b = array ( "一" , "二" , "三" ); $c = array_combine ( $a , $b ); print_r( $c ); /**結果 *Array ( [one] => 一 [two] => 二 [three] => 三 ) */ |
array_chunk
功能:拆分數組成多個數組
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<?php $input_array = array ( "a" => "apple" , "b" => "blue" , "c" , "d" , "e" ); echo "<pre>" ; print_r( array_chunk ( $input_array , 2)); print_r( array_chunk ( $input_array , 2,True)); echo "</pre>" ; /**結果 Array ( [0] => Array ( [0] => apple [1] => blue ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ) ) Array ( [0] => Array ( [a] => apple [b] => blue ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [2] => e ) ) */ |
array_count_values
功能:統計數組中值出現的次數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php $input_array = array ( "a" => "apple" , "b" => "blue" , "c" , "d" , "e" ); echo "<pre>" ; print_r( array_count_values ( $input_array )); echo "</pre>" ; /**結果 Array ( [apple] => 1 [blue] => 1 [c] => 1 [d] => 1 [e] => 1 ) */ |
array_diff
功能:第一個數組中去掉第二個數組中有的數據,返回剩下的內容作為結果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php $array1 = array ( "a" => "apple" , "b" => "blue" , "c" , "d" , "e" ); $array2 = array ( "apple" , "c" , "d" , "f" ); $result = array_diff ( $array1 , $array2 ); $result2 = array_diff ( $array2 , $array1 ); echo "<pre>" ; print_r( $result ); //數組1中去掉數組2中剩下的 print_r( $result2 ); //數組2中去掉數組1中剩下的 echo "</pre>" ; /**結果 Array ( [b] => blue [2] => e ) Array ( [3] => f ) */ |
array_map
功能:將回調函數執行到數組中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php //定義回調函數 function cube( $n ){ return ( $n * $n * $n ); } $a = array (1,2,3,4,5); $b = array_map ( "cube" , $a ); echo "<pre>" ; print_r( $b ); echo "</pre>" ; /**結果 Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) */ |
array_merge
功能:合并一個或多個數組
說明:如果后面有鍵名相同的會覆蓋掉前面的內容,鍵名為數字的會添加到后面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?php $array1 = array ( "color" => "red" ,2,4); $array2 = array ( "a" , "b" , "color" => "green" , "shape" => "trapezoid" ,4); $result1 = array_merge ( $array1 , $array2 ); $result2 = array_merge_recursive ( $array1 , $array2 ); echo "<pre>" ; print_r( $result1 ); print_r( $result2 ); echo "</pre>" ; /**結果 Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 ) Array ( [color] => Array ( [0] => red [1] => green ) [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 ) */ |
array_pop
功能:剔除數組最后一個元素,返回被剔除的元素內容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php $stack = array ( "orange" , "banana" , "apple" , "1" ); $last = array_pop ( $stack ); echo "<pre>" ; print_r( $stack ); print_r( $last ); echo "</pre>" ; /**結果 Array ( [0] => orange [1] => banana [2] => apple ) 1 */ |
array_push
功能:將一個多個單元壓入數組末尾,返回之后的數組個數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php $stack = array ( "orange" , "banana" ); $count = array_push ( $stack , "apple" , "red" , "blue" ); echo "<pre>" ; print_r( $stack ); print_r( $count ); echo "</pre>" ; /**結果 Array ( [0] => orange [1] => banana [2] => apple [3] => red [4] => blue ) 5 */ |
array_rand
功能:獲取隨機的鍵名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<?php $input = array ( "orange" , "banana" , "apple" , "red" , "blue" ); $rand = array_rand ( $input ,2);; print_r( $rand ); $rand = array_rand ( $input ,3); print_r( $rand ); /**結果 Array ( [0] => 1 [1] => 4 ) Array ( [0] => 0 [1] => 1 [2] => 3 ) */ |
array_search
功能:查詢數組中的內容,返回鍵值,如果有多個匹配,返回第一個匹配的內容
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $array = array ( "blue" => "b" , "red" => "r" , "green" , "r" ); $key = array_search ( 'b' , $array ); echo $key ; echo "<br>" ; $key = array_search ( 'r' , $array ); echo $key ; echo "<br>" ; /**結果 blue red */ |
array_shift
功能:移除開頭的元素,與array_pop相反
1
2
3
4
5
6
7
8
9
10
|
<?php $fruit = array ( "milk" , "orange" , "banana" , "apple" ); $top = array_shift ( $fruit ); print_r( $top ); echo "<br>" ; print_r( $fruit ); /**結果 milk Array ( [0] => orange [1] => banana [2] => apple ) */ |
array_unique
功能:去除數組重復的元素,保留第一個出現的,包括鍵名和值
1
2
3
4
5
6
7
8
9
10
|
<?php $input = array ( "a" => "green" , "red" , "b" => "green" , "blue" , "c" => "red" ); $result = array_unique ( $input ); print_r( $result ); echo "<br>" ; print_r( $input ); /**結果 Array ( [a] => green [0] => red [1] => blue ) Array ( [a] => green [0] => red [b] => green [1] => blue [c] => red ) */ |
array_slice
功能:從數組中取出部分元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?php $input = array ( "a" , "b" , "c" , "d" , "e" ); $output = array_slice ( $input ,2); //第二個參數沒有時,表示取到最后一個元素 print_r( $output ); echo "<br>" ; $output = array_slice ( $input ,-2,1); //第二個參數是正數時,表示個數;倒數第一個是-1,倒數第二個是-2 print_r( $output ); echo "<br>" ; $output = array_slice ( $input ,0,3); print_r( $output ); echo "<br>" ; $output = array_slice ( $input ,2,-1); //第二個參數是負數時,表示位置,取到哪一位,不包括本身 print_r( $output ); echo "<br>" ; $output = array_slice ( $input ,2,-1,true); //第三個參數為true時,保留原有的鍵值 print_r( $output ); echo "<br>" ; /**結果 Array ( [0] => c [1] => d [2] => e ) Array ( [0] => d ) Array ( [0] => a [1] => b [2] => c ) Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d ) */ |
count
功能:返回數組元素個數,元素為數組的算一個
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $input = array ( "a" , "b" , "c" , array ( "d" , "e" )); $count = count ( $input ); echo $count ; echo "<br>" ; $input = array ( "a" , "b" , "c" , "d" , "e" ); $count = count ( $input ); echo $count ; /**結果 4 5 */ |
current
功能:獲取當前的指針指向元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<?php $array = array ( "foot" , "bike" , "car" , "plane" ); $result = current( $array ); echo $result . "<br>" ; next( $array ); //使指針指向下一個元素 $result = current( $array ); echo $result . "<br>" ; prev( $array ); //使指針指向前一個元素 $result = current( $array ); echo $result . "<br>" ; end ( $array ); //使指針指向最后一個元素 $result = current( $array ); echo $result . "<br>" ; /**結果 foot bike foot plane */ |
in_array
功能:檢驗某值是否存在數組中,有返回True,沒有返回False
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php $os_list = array ( "Mac" , "NT" , "Irix" , "Linux" ); if (in_array( "Irix" , $os_list )){ echo "當前操作系統列表中存在Irix" ; } else { echo "當前操作系統列表中不存在Irix" ; } echo "<br>" ; if (in_array( "mac" , $os_list )){ echo "當前操作系統列表中存在mac" ; } else { echo "當前操作系統列表中不存在mac" ; } echo "<br>" ; /**結果 當前操作系統列表中存在Irix 當前操作系統列表中不存在mac */ |
list
功能:將數組中的信息賦值給多個變量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php $info = array ( "red" , "blue" , "green" ); list( $flag , $sky , $grassland ) = $info ; echo "$flag,$sky,$grassland" ; echo "<br>" ; list( $flag ,, $grassland ) = $info ; echo "$flag,$grassland" ; echo "<br>" ; list(,, $grassland ) = $info ; echo "$grassland" ; echo "<br>" ; /**結果 red,blue,green red,green green */ |
shuffle
功能:打亂數組
1
2
3
4
5
6
7
8
9
10
|
<?php $numbers = range(1,5); //生成一個隨機數組 print_r( $numbers ); echo "<br/>" ; shuffle( $numbers ); //打亂數組 print_r( $numbers ); /**結果 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) Array ( [0] => 4 [1] => 1 [2] => 5 [3] => 2 [4] => 3 ) */ |
array_keys
功能:獲取數組的鍵名,第二個參數可以指定獲取某個元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php $array = array (0=>100, "color" => "red" ); print_r( array_keys ( $array )); echo "<br>" ; $array = array ( "blue" , "red" , "green" , "blue" , "blue" ); print_r( array_keys ( $array , "blue" )); echo "<br>" ; $array = array ( "color" => array ( "blue" , "red" , "green" ), "size" => array ( "small" , "medium" , "large" )); print_r( array_keys ( $array )); echo "<br>" ; /**結果 Array ( [0] => 0 [1] => color ) Array ( [0] => 0 [1] => 3 [2] => 4 ) Array ( [0] => color [1] => size ) */ |
array_reverse
功能:獲取數組的反向
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?php $input = array ( "php" ,3.0, array ( "green" , "red" )); $result = array_reverse ( $input ); //打亂鍵名 $result_keyed = array_reverse ( $input ,TRUE); //保留鍵名 print_r( $result ); print_r( $result_keyed ); /**結果 Array ( [0] => Array ( [0] => green [1] => red ) [1] => 3 [2] => php ) Array ( [2] => Array ( [0] => green [1] => red ) [1] => 3 [0] => php ) */ |
arsort
功能:逆向排序,索引不變
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php $fruits = array ( "a" => "lemon" , "b" => "orange" , "c" => "banana" , "d" => "apple" , ); arsort( $fruits ); //按照字符逆向排序或數字 foreach ( $fruits as $key => $val ){ echo "$key = $val<br>" ; } /**結果 b = orange a = lemon c = banana d = apple */ |
asort
功能:進行正向排序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?php $fruits = array ( "a" => "lemon" , "b" => "orange" , "c" => "banana" , "d" => "apple" , ); arsort( $fruits ); //按照字符逆向排序或數字 foreach ( $fruits as $key => $val ){ echo "$key = $val<br>" ; } echo "<p>" ; asort( $fruits ); //按照字符正向排序或數字 foreach ( $fruits as $key => $val ){ echo "$key = $val<br>" ; } /**結果 b = orange a = lemon c = banana d = apple d = apple c = banana a = lemon b = orange */ |
krsort
功能:按照鍵名進行逆向排序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php $fruits = array ( "a" => "lemon" , "b" => "orange" , "c" => "banana" , "d" => "apple" , ); krsort( $fruits ); //按照鍵名逆向排序或數字 foreach ( $fruits as $key => $val ){ echo "$key = $val<br>" ; } /**結果 d = apple c = banana b = orange a = lemon */ |
ksort
功能:按照鍵名進行正向排序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php $fruits = array ( "a" => "lemon" , "b" => "orange" , "c" => "banana" , "d" => "apple" , ); ksort( $fruits ); //按照鍵名正向排序或數字 foreach ( $fruits as $key => $val ){ echo "$key = $val<br>" ; } /**結果 a = lemon b = orange c = banana d = apple */ |
rsort
功能:按照值進行逆向排序,鍵名改變
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php $fruits = array ( "a" => "lemon" , "b" => "orange" , "c" => "banana" , "d" => "apple" , ); rsort( $fruits ); //按照值進行逆向排序或數字,鍵名改變 foreach ( $fruits as $key => $val ){ echo "$key = $val<br>" ; } /**結果 0 = orange 1 = lemon 2 = banana 3 = apple */ |
sort
功能:按照值進行正向排序,鍵名改變
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php $fruits = array ( "a" => "lemon" , "b" => "orange" , "c" => "banana" , "d" => "apple" , ); sort( $fruits ); //按照值進行逆向排序或數字,鍵名改變 foreach ( $fruits as $key => $val ){ echo "$key = $val<br>" ; } /**結果 0 = apple 1 = banana 2 = lemon 3 = orange */ |
希望本文所述對大家PHP程序設計有所幫助。