導航:首頁 > 編程語言 > php組合數組

php組合數組

發布時間:2022-03-12 12:42:30

A. 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);

B. 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 ++;
//改變獲取的位置
}

C. php裡面怎麼合並數組

array_merge:合並數組

D. php裡面如何合並數組

可以使用函數array_merge();

E. 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);

F. 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);
?>

G. php 數組組合問題

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

H. PHP合並數組幾種方式總結

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

array_merge() 函數把兩個或多個數組合並為一個數組。

如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的)。如果數組是數字索引的,則鍵名會以連續方式重新索引。

注意:如果僅僅向 array_merge() 函數輸入了一個數組,且鍵名是整數,則該函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引。

array_merge(array1,array2,array3...)

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

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

輸出:

Array ( [a] => Horse [b] => Cat [c] => Cow )

僅使用一個數組參數:

<?php
$a=array(3=>"Horse",4=>"Dog");
print_r(array_merge($a));
?>

輸出:

Array ( [0] => Horse [1] => Dog )

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

例如:
<?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
)

I. 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);

J. 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);

閱讀全文

與php組合數組相關的資料

熱點內容
移動手機怎麼修改登錄密碼app 瀏覽:582
兩點間中點垂直線cad命令 瀏覽:32
dpdk編程開發 瀏覽:978
linux編輯文件退出命令 瀏覽:883
好看的網站 瀏覽:764
class版本為過高無法反編譯 瀏覽:467
vivo手機怎麼刪除app上的小鎖 瀏覽:462
泰國《永恆》未刪減 瀏覽:952
程序員小妹留學新加坡 瀏覽:459
app為什麼要做伺服器端app 瀏覽:608
華為電腦命令提示符在哪 瀏覽:80
法國啄木鳥網站入口 瀏覽:601
java的api怎麼打開 瀏覽:277
一本主角叫林楓的重生小說 瀏覽:809
超級靈魂解壓視頻 瀏覽:536
葉天明和柳韻 瀏覽:138
韓國愛情片在線觀看 瀏覽:745
h264壓縮工具 瀏覽:320
為什麼app總是用手機號注冊 瀏覽:430
編譯程序卡死怎麼回事 瀏覽:976