本文目錄一覽:
- 1、PHP 一個數組,獲取這個數組的所有子數組集合
- 2、php把多一維數組的多個元素合併連接成為一個元素
- 3、php兩個一維數組一對一合併
- 4、php里說出數組的常用函數及用法?
- 5、php 如何寫一個取一維數組交集的公共方法
PHP 一個數組,獲取這個數組的所有子數組集合
$arr = [1,2,3];
$len = count($arr);
$subsets = pow(2, $len);
$result = [];
for($i=0;$i$subsets;$i++) {
$bits = sprintf(“%0″.$len.”b”, $i);
$item = [];
for ($j=0;$j$len;$j++) {
if ($bits[$j] == ‘1’) {
$item[] = $arr[$j];
}
}
if (!empty($item))
$result[] = $item;
}
var_dump($result);
php把多一維數組的多個元素合併連接成為一個元素
?php
$data[0] = “1239”;
$data[1] = “1238”;
$data[2] = “1237”;
$data[3] = “1236”;
$data[4] = “1235”;
$data[5] = “1234”;
$data[6] = “1290”;
$res = “”;
$count = count($data); //count() 函數返回數組中元素的數目。
for($i = 0;$i$count;$i++){
$res .= $data[$i];
}
print_r($res);
?
結果如圖所示:
php兩個一維數組一對一合併
你想要的結果是什麼呢?是將數組組合在一塊數組內有多個(8個),那你可以找下函數:
array_push() 將
array 當成一個棧,並將傳入的變數壓入
array 的末尾。array
的長度將根據入棧變數的數目增加
還有一個你是想要以第一個數組為鍵值將第二個數組插入第一數組內組成數組,那你可以參考下函數:
array_merge_recursive() 將一個或多個數組的單元合併起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。如果輸入的數組中有相同的字元串鍵名,則這些值會被合併到一個數組中去,這將遞歸下去,因此如果一個值本身是一個數組,本函數將按照相應的條目把它合併為另一個數組。然而,如果數組具有相同的數組鍵名,後一個值將不會覆蓋原來的值,而是附加到後面。
還有一個可以比對第一個函數,你是想將數組插入前面還是後面,函數如下:
array_unshift() 將傳入的單元插入到
array 數組的開頭。注意單元是作為整體被插入的,因此傳入單元將保持同樣的順序。所有的數值鍵名將修改為從零開始重新計數,所有的文字鍵名保持不變。
返回 array 數組新的單元數目。
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()
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 時被認為相等。也就是說使用了嚴格檢查,字元串的表達必須相同。
原創文章,作者:QDBNG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330016.html