PHP常用函數之-數組

在學習PHP的過程中,我們經常需要對數組進行操作

數組後面加內容

$a = array('a','b','c');

$a[] = 'd';

print_r($a);   //array([0]=>'a',[1]=>'b',[2]=>'c',[3]=>'d')

//刪除數組第二個元素

unset($a[1]); 

//循環操作

for循環只能針對索引數組

foreach循環可以針對關聯數組

數組常用函數總結:

count()   array_key_exists()   in_array()   array_change_key_case()    array_count_values()   array_fill()   array_filter()

array_values()   array_keys()   array_push()   array_pop()   array_shift()   array_unshift()

sort()   resort()   usort()   asort()   ksort()   natsort()   natcasesort()   array_merge()   array_merge_recursive()   array_diff()   array_diff_assoc()   array_intersect()   array_interect_assoc()

array_flip()  array_unique()   array_reverse()   array_sum()   shuffle()   range()   srand()   array_rand()

以下是各函數的詳細說明:

1 array_key_exists()

例:

<?php
$a=array("Volvo"=>"XC90","BMW"=>"X5");
if (array_key_exists("Volvo",$a))
  {
  echo "鍵存在!";
  }
else
  {
  echo "鍵不存在!";
  }
?>
2 array_change_key_case()  將數組的所有的鍵都轉換爲大寫字母或小寫字母

3 array_count_values()  用於統計數組中所有值出現的次數

<?php
$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a));
?>
運行結果:Array( [A] => 2  [Cat] => 1  [Dog] => 2)
4  array_fill()  用鍵值填充數組

array_fill(index,number,value);  

index必需。被返回數組的第一個索引。
number必需。規定要插入的元素數。
value必需。規定供填充數組所使用的值。
5  array_filter()

6 array_values()  返回一個包含給定數組中所有鍵值的數組,但不保留鍵名。

例:

<?php
$a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA");
print_r(array_values($a));
?>
輸出結果:Array( [0] => Bill [1] => 60 [2] => USA)

7 array_keys() 返回包含數組中所有鍵名的一個新數組

例:

<?php
$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a));
?>
輸出結果:Array( [0] => Volvo [1] => BMW [2] => Toyota)

8  array_push()  向數組尾部添加一個或多個元素(入棧),然後返回新數組的長度

例:

<?php
$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a);
?>
輸出結果:Array( [0] => red [1] => green [2] => blue [3] => yellow)

9  array_pop()  刪除數組中的最後一個元素(出棧)

例:

<?php
$a=array("red","green","blue");
array_pop($a);
print_r($a);
?>
輸出結果:Array([0] => red [1] => green)

10  array_shift()  數刪除數組中第一個元素,並返回被刪除元素的值。如果鍵名是數字的,所有元素都會獲得新的鍵名,從 0 開始,並以 1 遞增。

11 array_unshift() 向數組插入新元素。新數組的值將被插入到數組的開頭。

12  sort()  對索引數組進行升序排序。按字母進行升序排序

13 usort() 通過用戶自定義的比較函數對數組進行排序。

14 asort() 函數對關聯數組按照鍵值進行降序排序。

15 ksort() 函數對關聯數組按照鍵名進行升序排序。

16 natsort() 函數用"自然排序"算法對數組進行排序。鍵值保留它們原始的鍵名。

17 array_merge() 函數把一個或多個數組合併爲一個數組

18 array_merge_recursive() 函數把一個或多個數組合併爲一個數組。該函數與 array_merge() 函數的區別在於處理兩個或更多個數組元素有相同的鍵名時。array_merge_recursive() 不會進行鍵名覆蓋,而是將多個相同鍵名的值遞歸組成一個數組。

例:

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge_recursive($a1,$a2));
?>
輸出結果:Array( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue)

19 array_diff() 函數返回兩個數組的差集數組(只比較鍵值,不比較鍵名)

例:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");

$result=array_diff($a1,$a2);
print_r($result);
?>
輸出結果:Array( [d] => yellow)

20 array_diff_assoc() 函數用於比較兩個(或更多個)數組的鍵名和鍵值 ,並返回差集。

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","c"=>"blue");

$result=array_diff_assoc($a1,$a2);
print_r($result);
?>
輸出結果:Array( [d] => yellow)

21 array_intersect() 函數用於比較兩個(或更多個)數組的鍵值,並返回交集。

22 array_interect_assoc() 函數用於比較兩個(或更多個)數組的鍵名和鍵值,並返回交集。

23 array_flip() 函數用於反轉/交換數組中所有的鍵名以及它們關聯的鍵值。

24 array_unique() 函數移除數組中的重複的值,並返回結果數組。

25 array_reverse() 函數以相反的元素順序返回數組。

26 array_sum() 函數返回數組中所有值的和。

27 shuffle() 函數把數組中的元素按隨機順序重新排列。

28 range() 函數創建一個包含指定範圍的元素的數組。

例:

<?php
$number = range(0,5);
print_r ($number);
?>
輸出結果:Array( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5)

29 array_rand() 函數返回數組中的隨機鍵名,或者如果您規定函數返回不只一個鍵名,則返回包含隨機鍵名的數組。

例:

<?php
$a=array("red","green","blue","yellow","brown");
$random_keys=array_rand($a,3);
echo $a[$random_keys[0]]."<br>";
echo $a[$random_keys[1]]."<br>";
echo $a[$random_keys[2]];
?>
輸出結果:red
                    yellow
                    brown








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章