當前位置:首頁 » 編程語言 » php數組求交集

php數組求交集

發布時間: 2022-11-13 15:55:52

1. php 多個多維數組求交集

array_intersect
(PHP 4 >= 4.0.1, PHP 5)

array_intersect -- 計算數組的交集說明
array array_intersect ( array array1, array array2 [, array ...])

array_intersect() 返回一個數組,該數組包含了所有在 array1 中也同時出現在所有其它參數數組中的值。注意鍵名保留不變。

例子 1. array_intersect() 例子

<?php
$array1 = array ("a" => "green", "red", "blue");
$array2 = array ("b" => "green", "yellow", "red");
$result = array_intersect ($array1, $array2);
?>
這使得 $result 成為:

Array
(
[a] => green
[0] => red
)

注: 兩個單元僅在 (string) $elem1 === (string) $elem2 時被認為是相同的。也就是說,當字元串的表達是一樣的時候。

array_diff
(PHP 4 >= 4.0.1, PHP 5)

array_diff -- 計算數組的差集說明
array array_diff ( array array1, array array2 [, array ...])

array_diff() 返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。注意鍵名保留不變。

例子 1. array_diff() 例子

<?php
$array1 = array ("a" => "green", "red", "blue", "red");
$array2 = array ("b" => "green", "yellow", "red");
$result = array_diff ($array1, $array2);
?>
這使得 $result 成為 array (1 => "blue");。在 $array1 中多次出現的值同樣對待。

注: 兩個單元僅在 (string) $elem1 === (string) $elem2 時被認為是相同的。也就是說,當字元串的表達是一樣的時候。
注: 注意此函數僅檢查多維數組中的一維。當然你可以用 array_diff($array1[0], $array2[0]); 檢查更深的維度。

array_diff_assoc -- 帶索引檢查計算數組的差集

說明
array array_diff_assoc ( array array1, array array2 [, array ...])

array_diff_assoc() 返回一個 array,返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。注意和 array_diff() 不同的是鍵名也用於比較。

例子 1. array_diff_assoc() 例子

<?php
$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array ("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);

?>
上面的例子中可以看到鍵值對 "a" => "green" 在兩個數組中都有,因此不在本函數的輸出中。與此不同,鍵值對 0 => "red" 出現在輸出中是因為第二個參數中的 "red" 的鍵名是 1。

鍵值對 key => value 中的兩個值僅在 (string) $elem1 === (string) $elem2 時被認為相等。也就是說使用了嚴格檢查,字元串的表達必須相同。

2. php帶索引檢查計算數組的交集

array_intersect_assoc
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
array_intersect_assoc — 帶索引檢查計算數組的交集
說明
array_intersect_assoc ( array $array1 , array $array2 [, array $... ] ) : array
array_intersect_assoc() 返回一個數組,該數組包含了所有在 array1 中也同時出現在所有其它參數數組中的值。注意和 array_intersect() 不同的是鍵名也用於比較。
參數
array1
要檢查的主值。
array2
要比較的數組。
...
要對比的數組變數的列表。
返回值
返回數組,該數組包含了所有在 array1 中也同時出現在所有其它參數數組中的值。
範例
示例 #1 array_intersect_assoc() 例子
"green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>

3. php里說出數組的常用函數及用法

PHP常用操作數組的函數
變數和數組的轉換
compact() 將變數整合成數組

extract() 將數組中的每個值以鍵的名分解成變數
變數和字元串轉換
explode() 以某個子串分解字元串成數組
implode() 將一維數組根據某個符號拼接成字元串
數組與數組之間關系
array_merge() 合並/並集
array_diff() 差集
array_intersect() 交集
數組值的操作
array_pop() 刪除(彈出)數組最後一個值
array_push() 向數組中追加一個值
判斷數組是否存在數組中
in_array() 判斷一個值是否存在數組中
array_key_exists() 判斷鍵是否存在數組中
數組去重
array_unique() 數組去重
獲取二維數組中的值的集合
array_column() 獲取二維數組中的值的集合
提取數組的鍵與值
array_values 提取數組的值構成一維數組
array_keys 提取數組的鍵構成一維數組
返回數組中的隨機的鍵
array_rand() 返回數組中的隨機的鍵
返回數組中值的數量
count() 返回數組中值的和
查詢數組中的值
array_search() 查詢數組中的值是否存在/in_array()有點相似
排序
sort() 排序有很多種,按鍵或值升降序
array_multisort() 多維數組排序
分割數組
array_chunk()

4. php數組的PHP 5 Array 函數

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_proct() 計算數組中所有值的乘積。 array_push() 將一個或多個元素插入數組的末尾(入棧)。 array_rand() 從數組中隨機選出一個或多個元素,返回鍵名。 array_rece() 通過使用用戶自定義函數,迭代地將數組簡化為一個字元串,並返回。 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() 使用用戶自定義的比較函數對數組進行排序。

5. PHP處理數組常用的幾個函數

一、數組操作的基本函數
數組的鍵名和值
array_values($arr); 獲得數組的值
array_keys($arr); 獲得數組的鍵名
array_flip($arr); 數組中的值與鍵名互換(如果有重復前面的會被後面的覆蓋)
in_array("apple",$arr); 在數組中檢索apple
array_search("apple",$arr); 在數組中檢索apple ,如果存在返回鍵名
array_key_exists("apple",$arr); 檢索給定的鍵名是否存在數組中
isset($arr[apple]): 檢索給定的鍵名是否存在數組中
數組的內部指針
current($arr); 返回數組中的當前單元
pos($arr); 返回數組中的當前單元
key($arr); 返回數組中當前單元的鍵名
prev($arr); 將數組中的內部指針倒回一位
next($arr); 將數組中的內部指針向前移動一位
end($arr); 將數組中的內部指針指向最後一個單元
reset($arr; 將數組中的內部指針指向第一個單元
each($arr); 將返回數組當前元素的一個鍵名/值的構造數組,並使數組指針向前移動一位
list($key,$value)=each($arr); 獲得數組當前元素的鍵名和值
數組和變數之間的轉換
extract($arr);用於把數組中的元素轉換成變數導入到當前文件中,鍵名當作變數名,值作為變數值
註:(第二個參數很重要,可以看手冊使用)使用方法 echo $a;
compact(var1,var2,var3);用給定的變數名創建一個數組
二、數組的分段和填充
數組的分段
array_slice($arr,0,3); 可以將數組中的一段取出,此函數忽略鍵名
array_splice($arr,0,3,array("black","maroon")); 可以將數組中的一段取出,與上個函數不同在於返回的序列從原數組中刪除
分割多個數組
array_chunk($arr,3,TRUE); 可以將一個數組分割成多個,TRUE為保留原數組的鍵名
數組的填充
array_pad($arr,5,'x'); 將一個數組填補到制定長度
三、數組與棧
array_push($arr,"apple","pear"); 將一個或多個元素壓入數組棧的末尾(入棧),返回入棧元素的個數
array_pop($arr); 將數組棧的最後一個元素彈出(出棧)
四、數組與列隊
array_shift($arr);數組中的第一個元素移出並作為結果返回(數組長度減1,其他元素向前移動一位,數字鍵名改為從零技術,文字鍵名不變)
array_unshift($arr,"a",array(1,2));在數組的開頭插入一個或多個元素
五、回調函數
array_walk($arr,'function','words'); 使用用戶函數對數組中的每個成員進行處理(第三個參數傳遞給回調函數function)
array_mpa("function",$arr1,$arr2); 可以處理多個數組(當使用兩個或更多數組時,他們的長度應該相同)
array_filter($arr,"function"); 使用回調函數過濾數組中的每個元素,如果回調函數為TRUE,數組的當前元素會被包含在返回的結果數組中,數組的鍵名保留不變
array_rece($arr,"function","*"); 轉化為單值函數(*為數組的第一個值)
六、數組的排序
通過元素值對數組排序
sort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
rsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)忽略鍵名的數組排序
usort($arr,"function"); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)忽略鍵名的數組排序
asort($arr); 由小到大的順序排序(第二個參數為按什麼方式排序)保留鍵名的數組排序
arsort($arr); 由大到小的順序排序(第二個參數為按什麼方式排序)保留鍵名的數組排序
uasort($arr,"function"); 使用用戶自定義的比較函數對數組中的值進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)保留鍵名的數組排序
通過鍵名對數組排序
ksort($arr); 按照鍵名正序排序
krsort($arr); 按照鍵名逆序排序
uksort($arr,"function"); 使用用戶自定義的比較函數對數組中的鍵名進行排序(function中有兩個參數,0表示相等,正數表示第一個大於第二個,負數表示第一個小於第二個)
自然排序法排序
natsort($arr); 自然排序(忽略鍵名)
natcasesort($arr); 自然排序(忽略大小寫,忽略鍵名)
七、數組的計算
數組元素的求和
array_sum($arr); 對數組內部的所有元素做求和運算
數組的合並
array_merge($arr1,$arr2); 合並兩個或多個數組(相同的字元串鍵名,後面的覆蓋前面的,相同的數字鍵名,後面的不會做覆蓋操作,而是附加到後面)
「+」$arr1+$arr2; 對於相同的鍵名只保留後一個
array_merge_recursive($arr1,$arr2); 遞歸合並操作,如果數組中有相同的字元串鍵名,這些值將被合並到一個數組中去。如果一個值本身是一個數組,將按照相應的鍵名把它合並為另一個數組。當數組 具有相同的數組鍵名時,後一個值將不會覆蓋原來的值,而是附加到後面
數組的差集
array_diff($arr1,$arr2); 返回差集結果數組
array_diff_assoc($arr1,$arr2,$arr3); 返回差集結果數組,鍵名也做比較
數組的交集
array_intersect($arr1,$arr2); 返回交集結果數組
array_intersect_assoc($arr1,$arr2); 返回交集結果數組,鍵名也做比較
八、其他的數組函數
range(0,12); 創建一個包含指定范圍單元的數組
array_unique($arr); 移除數組中重復的值,新的數組中會保留原始的鍵名
array_reverse($arr,TRUE); 返回一個單元順序與原數組相反的數組,如果第二個參數為TRUE保留原來的鍵名
//srand((float)microtime()*10000000); 隨機種子觸發器
array_rand($arr,2); 從數組中隨機取出一個或 多個元素
shuffle($arr); 將數組的順序打亂
求課吧有很多關於PHP編程方面的教程

6. PHP數組的幾個操作,求並集,交集,差集,數組

PHP數組的幾個操作,求並集,交集,差集,數組與字元串的相互轉換及數組去重
在php中如果我想要對兩個數組進行如並集、交集和差集操作,我們可直接使用php自帶的函數來操作如array_merge(),array_intersect(),array_diff().
計算數組的合並 array_merge與「+」的區別
array_merge() 函數把兩個或多個數組合並為一個數組。
如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的),如果數組是數字索引的,則鍵名會以連續方式重新索引。
注釋:如果僅僅向 array_merge() 函數輸入了一個數組,且鍵名是整數,則該函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引.代碼如下:
$a = array(1 => 'a', 'b', 'c');
$b = array(1 => 'aa', 2, 'c');
$union = array_merge($a, $b);
$plus = $a + $b;
print_r($union);
print_r($plus);
//結果依次為:
Array
{
[0]=> a
[1]=> b
[2]=> c
[3]=> aa
[4]=> 2
[5]=> c
}
Array
(
[1] => a
[2] => b
[3] => c
)
要合並的兩個數組中有相同的字元串鍵的時候,使用array_merge()會覆蓋掉原來的值,而使用「+」合並數組則會和用「+」號合並數組相同數字鍵一樣把最先出現的值作為最終結果返回,如下例:
$a2 = array('str' => 'a', 'b', 'c');
$b2 = array('str' => 'aa', 2, 'c');
$union2 = array_merge($a2, $b2);
$plus2 = $a2 + $b2;
print_r($union2);
print_r($plus2);
//結果依次為:
Array
(
[str] => aa
[0] => b
[1] => c
[2] => 2
[3] => c
)
Array
(
[str] => a
[0] => b
[1] => c
)
注:如果想用array_merge合並兩個數組,返回結果可能還會有相同的元素,這時候可以用array_unique()把相同的元素去掉
計算數組的交集
array_intersect() 函數返回兩個或多個數組的交集數組,結果數組包含了所有在被比較數組中,也同時出現在所有其他參數數組中的值,鍵名保留不變,注釋:僅有值用於比較,代碼如下:
$a = array('jpg','png','gif','bmp');
$b = array('JPG','txt','docx','bmp');
$intersection = array_intersect($a, $b);
還可以通過函數,獲取自己想要的(比如元素不區分大小寫),代碼如下:
$intersection2 = array_intersect(array_map('strtolower',$a), array_map('strtolower',$b));
print_r($intersection);
print_r($intersection2);
//結果依次為:
Array
(
[3] => bmp
)
Array (
[0] => jpg
[3] => bmp
)
計算數組的差集,代碼如下:
$old = array('jpg','png','gif','bmp');
$new = array('JPG','txt','docx','bmp');
$difference = array_diff($old, $new);
注:返回結果的元素包含$old的元素,不包括$new的元素
print_r($difference);
結果為:
Array
(
[0] => jpg
[1] => png
[2] => gif
)
也可以用函數先進行處理,再計算差集
array_diff() 函數返回兩個數組的差集數組。該數組包括了所有在被比較的數組中,但是不在任何其他參數數組中的鍵值,在返回的數組中,鍵名保持不變。
語法:array_diff(array1,array2,array3...)
代碼如下:
$difference = array_diff(array_map('strtolower',$old),
array_map('strtolower',$new));
數組轉換為字元串:
<?php
$arr = array('Hello','World!','I','love','Shanghai!');
echo implode(" ",$arr);
?>
字元串轉換為數組:
<?php
$str="1432532 ,4444";
$arr = explode(",",$str);
echo count($arr)."</br>";

print_r($arr);
?>
數組元素值去重
<?php
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(
array_unique($a)
);
?>
針對有空格的字元串轉換成無空格的字元串
<?php
$str="1432532 ,67878";
$arr = explode(",",$str);
//echo count($arr)."</br>";

$str_u='';

for($i=0;$i<count($arr);$i++)
{

$str_u .=trim($arr[$i]).',';

}
echo $str_u;
?>

7. PHP二維數組里怎麼保留和另一個二維數組值相同的數組

在PHP中求數組的交集,我們可以與PHP給我們提供的現成函數:array_intersect(),其用法:
$a = array(
'0'=>array('id'=>'1'),
'1'=>array('id'=>'2'),
'2'=>array('id'=>'3'),
);
$b = array(
'0'=>array('uid'=>'1'),
'1'=>array('uid'=>'2'),
'2'=>array('uid'=>'4'),
);

for ($i=0; $i < count($a); $i++) {
$aa[$i] = $a[$i]['id'];
}
for ($m=0; $m < count($b); $m++) {
$bb[$m] = $b[$m]['uid'];
}
$result = array_intersect($aa, $bb);
print_r($result);

8. php 常用的數組函數都有哪些 作用是什麼有什麼特點 怎麼使用

php常用的數組函數的作用特點如下:


  1. array_change_key_case -- 返回字元串鍵名全為小寫或大寫的數組

  2. array_chunk -- 將一個數組分割成多個

  3. array_combine -- 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值

  4. array_count_values -- 統計數組中所有的值出現的次數

  5. array_diff_assoc -- 帶索引檢查計算數組的差集

  6. array_diff_key -- 使用鍵名比較計算數組的差集

  7. array_diff_uassoc -- 用用戶提供的回調函數做索引檢查來計算數組的差集

  8. array_diff_ukey -- 用回調函數對鍵名比較計算數組的差集

  9. array_diff -- 計算數組的差集

  10. array_fill_keys -- 使用指定的鍵和值填充數組

  11. array_fill -- 用給定的值填充數組

  12. array_filter -- 用回調函數過濾數組中的單元

  13. array_flip -- 交換數組中的鍵和值

  14. array_intersect_assoc -- 帶索引檢查計算數組的交集

  15. array_intersect_key -- 使用鍵名比較計算數組的交集

  16. array_intersect_uassoc -- 帶索引檢查計算數組的交集,用回調函數比較索引

  17. array_intersect_ukey -- 用回調函數比較鍵名來計算數組的交集

  18. array_intersect -- 計算數組的交集

  19. array_key_exists -- 檢查給定的鍵名或索引是否存在於數組中

  20. array_keys -- 返回數組中所有的鍵名

  21. array_map -- 將回調函數作用到給定數組的單元上

  22. array_merge_recursive -- 遞歸地合並一個或多個數組

  23. array_merge -- 合並一個或多個數組

  24. array_multisort -- 對多個數組或多維數組進行排序

  25. array_pad -- 用值將數組填補到指定長度

  26. array_pop -- 將數組最後一個單元彈出(出棧)

  27. array_proct -- 計算數組中所有值的乘積

  28. array_push -- 將一個或多個單元壓入數組的末尾(入棧)

  29. array_rand -- 從數組中隨機取出一個或多個單元

  30. array_rece -- 用回調函數迭代地將數組簡化為單一的值

  31. array_replace_recursive -- 使用傳遞的數組遞歸替換第一個數組的元素

  32. array_replace -- 使用傳遞的數組替換第一個數組的元素

  33. array_reverse -- 返回一個單元順序相反的數組

  34. array_search -- 在數組中搜索給定的值,如果成功則返回相應的鍵名

  35. array_shift -- 將數組開頭的單元移出數組

  36. array_slice -- 從數組中取出一段

  37. array_splice -- 把數組中的一部分去掉並用其它值取代

  38. array_sum -- 計算數組中所有值的和

  39. array_udiff_assoc -- 帶索引檢查計算數組的差集,用回調函數比較數據

  40. array_udiff_uassoc -- 帶索引檢查計算數組的差集,用回調函數比較數據和索引

  41. array_udiff -- 用回調函數比較數據來計算數組的差集

  42. array_uintersect_assoc -- 帶索引檢查計算數組的交集,用回調函數比較數據

  43. array_uintersect_uassoc -- 帶索引檢查計算數組的交集,用回調函數比較數據和索引

  44. array_uintersect -- 計算數組的交集,用回調函數比較數據

  45. array_unique -- 移除數組中重復的值

  46. array_unshift -- 在數組開頭插入一個或多個單元

  47. array_values -- 返回數組中所有的值

  48. array_walk_recursive -- 對數組中的每個成員遞歸地應用用戶函數

  49. array_walk -- 對數組中的每個成員應用用戶函數

  50. array -- 新建一個數組

  51. arsort -- 對數組進行逆向排序並保持索引關系

  52. asort -- 對數組進行排序並保持索引關系

  53. compact -- 建立一個數組,包括變數名和它們的值

  54. count -- 計算數組中的單元數目或對象中的屬性個數

  55. current -- 返回數組中的當前單元

  56. each -- 返回數組中當前的鍵/值對並將數組指針向前移動一步

  57. end -- 將數組的內部指針指向最後一個單元

  58. extract -- 從數組中將變數導入到當前的符號表

  59. in_array -- 檢查數組中是否存在某個值

  60. key -- 從關聯數組中取得鍵名

  61. krsort -- 對數組按照鍵名逆向排序

  62. ksort -- 對數組按照鍵名排序

  63. list -- 把數組中的值賦給一些變數

  64. natcasesort -- 用「自然排序」演算法對數組進行不區分大小寫字母的排序

  65. natsort -- 用「自然排序」演算法對數組排序

  66. next -- 將數組中的內部指針向前移動一位

  67. pos -- current 的別名

  68. prev -- 將數組的內部指針倒回一位

  69. range -- 建立一個包含指定范圍單元的數組

  70. reset -- 將數組的內部指針指向第一個單元

  71. rsort -- 對數組逆向排序

  72. shuffle -- 將數組打亂

  73. sizeof -- count 的別名

  74. sort -- 對數組排序

  75. uasort -- 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯

  76. uksort -- 使用用戶自定義的比較函數對數組中的鍵名進行排序

  77. usort -- 使用用戶自定義的比較函數對數組中的值進行排序


關於如何使用,那是要根據使用者需求來衡量,不能一言概括

使用語法如下:

<?php
$arr=array('Hello','World!');
$arr=implode(',',$arr);

echo$arr;
?>

結果是:HelloWorld!


如果你想更多的了解php的數組函數,我建議你詳細地去看看php手冊

php手冊官網:http://www.php.net/manual/zh/index.php

9. 求助:兩個數組的交集

在PHP中求數組的交集,我們可以與PHP給我們提供的現成函數:array_intersect(),其用法格式為:

array array_intersect(array array1,array array2[,arrayN…])

根據上述的語法格式,我們來寫一個例子:

1 <?php
2 $fruit1 = array("Apple","Banana","Orange");
3 $fruit2 = array("Pear","Apple","Grape");
4 $fruit3 = array("Watermelon","Orange","Apple");
5 $intersection = array_intersect($fruit1, $fruit2, $fruit3);
6 print_r($intersection);
7 // 輸出結果:
8 // Array ( [0] => Apple )
9 ?>

本例子將返回在$fruit1數組中出現且在$fruit2和$fruit3中也出現的所有水果的名子。

使用array_intersect()函數時要注意:只有在兩個元素相等且具有相同的數據類型時,array_intersect()函數才會認
為它們是相同的,否則不能進行交集計算。array_intersect()函數返回一個保留了鍵的數組,只由第一個數組中出現的且在其它數組中都出現的
值組成。

若要求關聯數組的交集,請使用array_intersect_assoc()函數,給你個簡單的例子:

1 <?php
2 $fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange");
3 $fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape");
4 $fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple");
5 $intersection = array_intersect_assoc($fruit1, $fruit2, $fruit3);
6 print_r($intersection);
7 // 輸出:
8 // Array ( [red] => Apple )
9 ?>

array_intersect_assoc()函數語法格式如下:

array array_intersect_assoc(array array1,array array2[,arrayN…])

array_intersect_assoc()與array_intersect()基本相同,只不過他在比較中還考慮了數組的鍵。因此,只有在第一個數組中出現,且在所有其他輸入數組中也出現的鍵/值對才返回到結果數組中。

10. PHP兩個數組的交集

你這個搞得是不是太復雜了。請使用array_diff比較數組,返回不同,再計算交集。

熱點內容
網路登錄伺服器需要獲取什麼信息 發布:2025-01-12 12:17:32 瀏覽:890
mac終端打開文件夾 發布:2025-01-12 12:17:31 瀏覽:295
第一次安裝如何設置mysql密碼 發布:2025-01-12 12:09:02 瀏覽:280
如何刪除微信伺服器上收藏 發布:2025-01-12 12:08:20 瀏覽:102
吃雞游戲安卓區轉蘋果區怎麼轉 發布:2025-01-12 11:34:00 瀏覽:880
網頁版c語言 發布:2025-01-12 11:21:01 瀏覽:864
安卓怎麼更改排位常用英雄 發布:2025-01-12 11:10:33 瀏覽:561
拆遷的100萬如何配置 發布:2025-01-12 11:08:52 瀏覽:575
如何配置ph值為次氯酸鈉的ph值 發布:2025-01-12 11:08:52 瀏覽:437
pythonarraynumpy 發布:2025-01-12 11:01:47 瀏覽:293