當前位置:首頁 » 編程語言 » 合並php

合並php

發布時間: 2023-04-17 15:16:51

『壹』 php 兩個數組合並成為一個二維數組

PHP 中的 array_merge_recursive() 函數可以實現

將一個或多個數組的元素的合並起來,一個數組中的值附加在前一個數組的後面。並返回作為結果的數組。

當有重復的鍵名時,值不會被覆蓋,而是將多個相同鍵名的值遞歸組成一個數組。

array_merge_recursive(array1,array2,array3...)

參數說明
array1 必需。輸入的第一個數組。
array2 必需。輸入的第二個數組。
array3 可選。可指定的多個輸入數組。

例如:
<?php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge_recursive($a1,$a2));
?>

輸出:
Array (
[a] => Horse
[b] => Array ( [0] => Dog [1] => Cat )
[c] => Cow
)

註:array_merge() 函數也可以實現,與 array_merge_recursive()函數不同是,如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的)。如果數組是數字索引的,則鍵名會以連續方式重新索引。

『貳』 php一維數組合並

<?php


$a = [1,2];

$b = [1,2,3];

$c = [1];


$result = array();

for ($i = 0; $i < 3; $i ++) {

$row = array();

$row[] = empty($a[$i]) ? '' : $a[$i];

$row[] = empty($b[$i]) ? '' : $b[$i];

$row[] = empty($c[$i]) ? '' : $c[$i];

$result[] = $row;

}

var_mp($result);



?>

試試上面的代碼

『叄』 php下將多個數組合並成一個數組的方法與實例代碼

1.合並數組
array_merge()函數將數組合並到一起,返回一個聯合的數組。所得到的數組以第一個輸入數組參數開始,按後面數組參數出現的順序依次迫加。其形式為:
復制代碼
代碼如下:
array
array_merge
(array
array1
array2…,arrayN)
將一個或多個數組的單元合並起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。
如果輸入的數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。
如果只給了一個數組並且該數組是數字索引的,則鍵名會以連續方式重新索引。
實例如下:
復制代碼
代碼如下:
$face
=
array("J","Q","K","A");
$numbered
=
array("2","3","4","5","6","7","8","9");
$cards
=
array_merge($face,
$numbered);
shuffle($cards);
print_r($cards);
這將返回如下所示的結果,運行代碼:
復制代碼
代碼如下:
Array
(
[0]
=>
A
[1]
=>
4
[2]
=>
9
[3]
=>
3
[4]
=>
K
[5]
=>
7
[6]
=>
5
[7]
=>
Q
[8]
=>
6
[9]
=>
8
[10]
=>
2
[11]
=>
J
)
2.遞歸追加數組
array_merge_recursive()函數與array_merge()相同,可以將兩個或多個數組合並在一起,形成一個聯合的數組.兩者之間的區別在於,當某個輸入數組中的某個鍵己經存在於結果數組中時該函數會採取不同的處理方式.array_merge()會覆蓋前面存在的鍵/值對,替換為當前輸入數組中的鍵/值對,而array_merge_recursive()將把兩個值合並在一起,形成一個新的數組,並以原有的鍵作為數組名。還有一個數組合並的形式,就是遞歸追加數組。其形式為:
view
sourceprint?array
array_merge_recursive(
array
key,array
values
)
示例如下:
復制代碼
代碼如下:
$class1
=
array("John"
=>
100,
"James"
=>
85);
$class2
=
array("Micky"
=>
78,
"John"
=>
45);
$classScores
=
array_merge_recursive($class1,
$class2);
print_r($classScores);
這將返回如下結果:
view
sourceprint?Array
(
[John]
=>
Array
(
[0]
=>
100
[1]
=>
45
)
[James]
=>
85
[Micky]
=>
78
)
3.連接兩個數組
array_combine()函數會得到一個新數組,它由一組提交的鍵和對應的值組成。其形式為:
view
sourceprint?array
array_merge(array
array1,array
array2[…,array
arrayN])
注意,兩個輸入數組必須大小相同,不能為空。示例如下:
復制代碼
代碼如下:
$abbreviations
=
array("AL","AK","AZ","AR");
$states
=
array("Alabama","Alaska","Arizona","Arkansas");
$stateMap
=
array_combine($abbreviations,$states);
print_r($stateMap);
這會返回:
復制代碼
代碼如下:
Array
(
[AL]
=>
Alabama
[AK]
=>
Alaska
[AZ]
=>
Arizona
[AR]
=>
Arkansas
)

『肆』 php 兩個普通數組合並為一個普通數組

php兩個普通數組合並為一個普通數組可以參考下面的代碼:

<?php

$a=array(1,2,3,4,5);

$b=array(6,7,8,9,10);

$c=array_merge($a,$b);

print_r($c);

?>

註:當被合並的數組中有一個數組為空時,可能會出現合並後的數組也為空。

(4)合並php擴展閱讀:

PHP常用函數

printf()函數輸出格式化的字元串。

print()函數輸出一個或多個字元串。

parse_str()函數把查詢字元串解析到變數中。

ord() 函數返回字元串第一個字元的 ASCII 值。

number_format()函數通過千位分組來格式化數字。

nl2br()函數在字元串中的每個新行 ( ) 之前插入 HTML 換行符 (<br />)。

nl_langinfo()函數返回指定的本地信息。

『伍』 PHP如何把兩個數組結果合並在一起

首先你的思路是正確的,這點可以肯定,合並數組可以使用array_merge() 這個函數,
array_merge() 函數把兩個或多個數組合並為一個數組。
如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的)。如果數組是數字索引的,則鍵名會以連續方式重新索引。

『陸』 PHP如何合並數組當中有相同數值的數組

array_unique函數提供了過濾重復的值的功能,但是該函數只能處理一維數組,如果遇到多維數組我們可以現將其轉化為一維數組。示例代碼如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

/*
* $data 是你要處理數據
* $result 是輸出的結果
*/

//將其轉化為一維數組
foreach ($data as &$row) {
$row = serialize($row);
}
unset($row);

$data = array_unique($data);
//還原多維數組
foreach ($data as &$row) {
$row = unserialize($row);
}
unset($row);

不好意思 樓主要求,我看錯了,追加下面的代碼

1
2
3
4
5
6
7
8
9
10
11
12

$result=array();
$tmp_arr=array();
foreach ($data as $row) {
$tmp_arr[$row['confuguarable_sku']][] = $row['size'];
}
//將尺寸用逗號拼接
foreach ($tmp_arr as $sku => $size) {
$result[] = array('confuguarable_sku'=>$sku, 'size'=>implode(",", $size));
}
echo "<pre>";
//輸出結果
print_r($result);

『柒』 PHP多維數組的值進行合並

這個沒有現成的函數可以用 只能寫代碼做了
$arrResult = array();
foreach ($arr as $oneItem) {
$arr[$oneItem['uid']] = array('uid' => $oneItem['uid'], 'name' => (array_key_exists('name', $arr[$oneItem['uid']]) && $arr[$oneItem['uid']]['name'] != '') ? $oneItem['uid']]['name'] . ',' . $oneItem['name'] : $oneItem['name']);
}
$arr = array();
foreach ($arrResult as $oneUid) {
$arr[] = $oneUid;
}
$arr是你原來的數組變數 最後得到$arr是結果

『捌』 兩個php文件怎麼樣合並成一個文件進行輸出數據

畢竟這是你自己的代碼,單看這一個文件的代碼別人不一定能明白它的邏輯,所以寫好貼出來讓你測試一下不怎麼靠譜,
而且看你的描述,這兩個文件功能類似,只是某一條件不同,所以獲取的結果也不同,那麼應該是條件決定結果了,
但你說的「在一個文件中同時輸出全國、上海的數據」這里有歧義,是要求全國和上海的數據一起輸出,還是要求這個文件能夠在要全國數據時輸出全國數據要上海數據時輸出上海數據?
如果是前者,那麼沒有條件直接輸出;如果是後者,那麼需要一個參數來區分輸出什麼。
還有一點:($o['city'] = $city['name']) || ($o['city'] = '全國');和($o['city'] = $city['name']) || ($o['city'] = '上海');這里的邏輯是什麼?
看上去應該是給數組$o的元素city賦值,不過這里用||連接的兩個賦值語句的關系是什麼,確切說是$city['name']和'全國'及'上海'是什麼關系?
另外,既然可以($o['city'] = $city['name']) || ($o['city'] = '上海');和($o['city'] = $city['name']) || ($o['city'] = '全國');那麼可不可以($o['city'] = $city['name']) || ($o['city'] = '上海)|| ($o['city'] = '全國');?
或者就是像三樓說的那樣進行封裝,然後根據參數來確定輸出

熱點內容
androidcursor遍歷 發布:2024-11-02 00:27:40 瀏覽:767
網易我的世界地皮伺服器大全 發布:2024-11-02 00:24:20 瀏覽:964
光宇國際服怎麼安卓轉ios 發布:2024-11-02 00:14:23 瀏覽:170
魔獸世界單機資料庫 發布:2024-11-01 23:37:11 瀏覽:698
配置vlan後如何配置電腦ip 發布:2024-11-01 23:21:16 瀏覽:546
中鐵盾構機密碼是多少 發布:2024-11-01 23:07:21 瀏覽:708
工規存儲 發布:2024-11-01 22:59:33 瀏覽:802
無法識別加密狗 發布:2024-11-01 22:47:03 瀏覽:599
手機怎麼給wifi改密碼怎麼辦啊 發布:2024-11-01 22:46:03 瀏覽:858
抖音賬號的密碼是由什麼組成 發布:2024-11-01 22:45:27 瀏覽:449