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

php組合數組

發布時間: 2022-09-11 19:24:04

A. php合並一個或多個數組

array_merge
(PHP 4, PHP 5, PHP 7)
array_merge — 合並一個或多個數組
1.說明
array_merge ([ array $... ] ) : array
將一個或多個數組的單元合並起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。
如果輸入的數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將 不會 覆蓋原來的值,而是附加到後面。
如果輸入的數組存在以數字作為索引的內容,則這項內容的鍵名會以連續方式重新索引。
2.參數
...
要合並的數組。
返回值
返回合並後的結果數組。如果參數為空,則返回空 array。
更新日誌
版本 說明
7.4.0 允許不帶參數調用,之前版本至少需要一個參數。
3.範例
示例 #1 array_merge() 示例
"red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

B. php若干數組組合演算法

$a=array ( '黑色','白色' );
$b=array ( '36碼' ,'37碼' );
$c=array ( '男款' ,'女款' );

$d = array();
foreach ($a as $i => $_a ){
foreach ($b as $ii => $_b ){
foreach ($c as $iii => $_c ){
$d[] = $_a.$_b.$_c;
}
}
}
print_r($d);

Array
(
[0] => 黑色36碼男款
[1] => 黑色36碼女款
[2] => 黑色37碼男款
[3] => 黑色37碼女款
[4] => 白色36碼男款
[5] => 白色36碼女款
[6] => 白色37碼男款
[7] => 白色37碼女款
)

C. PHP兩個一維數組合並為二維數組

<?php
$arr1=array('足球','籃球');
$arr2=array('冰棒','雪糕');
//方法一:直接組合
$B=array($arr1,$arr2);
//方法二:鍵值組合
$C=array();
$C['運動項目']=$arr1;
$C['吃的']=$arr2;

//輸出看看
echo"<pre>";
print_r($B);
print_r($C);

//附加:當然,這兩個數組還可以在組合
$fujia=array();
$fujia['B方法']=$B;
$fujia['C方法']=$C;
echo"<hr/>";
print_r($fujia);
?>

D. PHP 遞歸處理數組,並組合成新的數組

/**
*多維數組遞歸合並
*/
functionmultimerge(){
$arrs=func_get_args();
$merged=array();
while($arrs){
$array=array_shift($arrs);
if(!$array){
continue;
}
foreach($arrayas$key=>$value){
if(is_string($key)){
if(is_array($value)&&array_key_exists($key,$merged)&&is_array($merged[$key])){
$merged[$key]=call_user_func(__FUNCTION__,$merged[$key],$value);
}else{
$merged[$key]=$value;
}
}else{
$merged[]=$value;
}
}
}
return$merged;
}

$a1=array('user'=>array('name'=>'tony','score'=>23));
$a2=array('user'=>array('name'=>'tony','score'=>255),'name'=>'tom');
$a3=array('user'=>array('name'=>'tony','score'=>288,'test'=>'abc'),'name'=>'jack');
$result=multimerge($a1,$a2,$a3);
var_mp($result);

E. php 數組組合問題

$array_old=array(
array(
'name'=>'param1',
'isNull'=>1,
'type'=>'int',
'value'=>1,
),
array(
'name'=>'param2',
'isNull'=>0,
'type'=>'string',
'value'=>'test',
),
);

F. php 兩個數組,組合到一起

就是用array_merg來組合數組

$arr1=Array("Price" => 100,"Count" => 2);
$arr2=Array("Price" => 68,"Count" => 1);
$arr3=Array("ImageUrl" => "http://www..com/uploads/r/roynyj1423816159/3/4/d/a/thumb_54e05b04e4e1c.jpg","ItemName" => "藍瑪瑙","ItemDescription" =>"");
$arr4=Array("ImageUrl" => "http://www..com/uploads/r/roynyj1423816159/d/1/a/f/thumb_54e0609cb71b0.jpg","ItemName" => "可調大小硃砂雙魚手串","ItemDescription" =>"");
$data1=array_merge($arr1,$arr3);
$data2=array_merge($arr2,$arr4);
$datas=Array("7"=>$data1,"11"=>$data2);
print_r($datas);

G. PHP 多個數組的排列組合

$a = array(1,2,3,4,5,6,7);
$b = array(1,2,3);
$c = array(1,2,3,4,5,6,7,8,9,10);
$d = array($a,$b,$c);
//計算每一個數組的長度
$len = 1;
$arrLen = count($d); //需要排列數組有多少個
$recIndex = null; //記錄當前該取的位置
//foreach 計數
$count_3 = 0;
foreach ($d as $key => $value) {
$lenRec[$count_3] = count($value);
$len = $lenRec[$count_3]*$len;
$recIndex[] = 0;//第一次全部取第0個
$count_3++;
}
//算出% 的值
$count = 1;
foreach ($lenRec as $key => $value) {
$moloVal = 1;

if($arrLen == $count){
$molo[] = count($d[$arrLen-1]); //等於最後一個的長度
}else{
$count_1 = 1;
foreach ($lenRec as $index => $item) {
$count_1 > $count && $moloVal = $moloVal*$item;
$count_1 ++;
}
$molo[] = $moloVal;
}
$count ++;//為了防止$d key是有值的 不是自然序列 需要計數
}
$i = 1;
while ( $i <= $len) {
$html = '';
$count_2 = 0;// 取模
$temp = '';
foreach ($d as $value) {
$html .= $value[$recIndex[$count_2]%$lenRec[$count_2]].",";
$count_2 ++;
}
echo $html."<br>";
foreach ($molo as $key => $value) {
if($i%$value == 0 && $key < $arrLen - 1 ){
$recIndex[$key] = $recIndex[$key] +1;
}
if($key == $arrLen - 1){
if($i%$value == 0){
$recIndex[$key] = 0;
}else{
$recIndex[$key] = $recIndex[$key] +1;
}
}
}
$i ++;
//改變獲取的位置
}

H. PHP如何重新組合生成需要的數組

你分析一下原數組,你看鍵值0 就不需要改了吧。這樣你就直接賦值給新數組$new
然後循環原數組
foreach($old as $key=>$val){
//具體的你自己去寫正則把,我只是寫個大概,把匹配到的剩餘 $match[1] 賦值給 $new

if( preg_match(("/^(Content-Type:)/",$val,$match) ){
$new['Content-Type'] = $match[1];

}elseif(preg_match('/^(Server:)/',$val)){
$new['Server'] = $match[1];
}elseif(.....){
依次類推
}

}
var_mp($new);

I. PHP中如何列出一個數組的所有規定組合

嵌套循環,代碼如下:

$arr=array('0'=>array(8,9),'1'=>array(5),'2'=>array(1,2));
$arr2=array();
foreach($arr[0]as$v1){
foreach($arr[1]as$v2){
foreach($arr[2]as$v3){
$arr2[]=$v1.$v2.$v3;
}
}
}
print_r($arr2);
熱點內容
網路登錄伺服器需要獲取什麼信息 發布: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