php重新組合數(shù)據(jù) php數(shù)組重復

PHP 多個數(shù)組合并 重新生成新的數(shù)組并按要求值相加

$aa='[{"id": 0, "num": "2", "name": "產(chǎn)品1", "price": "37", "amount": 74, "zdamount": 100}, {"id": 1, "num": "2", "name": "產(chǎn)品2", "price": "37", "amount": 74, "zdamount": 100}]';

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了郁南免費建站歡迎大家使用!

$bb='[{"id": 0, "num": "3", "name": "產(chǎn)品1", "price": "37", "amount": 90, "zdamount": 110}, {"id": 1, "num": "5", "name": "產(chǎn)品2", "price": "37", "amount": 150, "zdamount": 180}]';

$cc='[{"id": 2, "num": "3", "name": "產(chǎn)品3", "price": "37", "amount": 90, "zdamount": 110}, {"id": 1, "num": "5", "name": "產(chǎn)品2", "price": "37", "amount": 150, "zdamount": 180}]';

$j_a = json_decode($aa,1);

$j_b = json_decode($bb,1);

$j_c = json_decode($cc,1);

$arr_list = [$j_a,$j_b,$j_c];//把數(shù)組扔進大數(shù)組,這樣可以隨意增加個數(shù)

$result = [];

foreach ($arr_list as $k=$v) {//第一次循環(huán),把原數(shù)組取出

foreach ($v as $key = $value) {//第二次循環(huán),正式取出數(shù)據(jù)

if (isset($result[$value['id']])) {//如果有此id,則進行累加操作

$result[$value['id']]['num'] += $value['num'];

$result[$value['id']]['amount'] += $value['amount'];

$result[$value['id']]['zdamount'] += $value['zdamount'];

} else {//沒有此id則進行賦值操作

$result[$value['id']]['id'] = $value['id'];

$result[$value['id']]['price'] = $value['price'];

$result[$value['id']]['name'] = $value['name'];

$result[$value['id']]['num'] = $value['num'];

$result[$value['id']]['amount'] = $value['amount'];

$result[$value['id']]['zdamount'] = $value['zdamount'];

}

}

}

echo json_encode($result,320);//輸出結果,如果需要序列化鍵值,可以使用array_values($result)

PHP如何重新組合生成需要的數(shù)組?

你分析一下原數(shù)組,你看鍵值0 就不需要改了吧。這樣你就直接賦值給新數(shù)組$new

然后循環(huán)原數(shù)組

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_dump($new);

求段PHP代碼,需要將數(shù)組重新組合

$arr?=?[

[

'code'?=?'site_name',

'name'?=?'網(wǎng)站名稱',

'value'?=?'管理系統(tǒng)',

'type'?=?'text',

'box'?=?'',

'tab'?=?'main',

'sort'?=?'1'

],

[

'code'?=?'site_title',

'name'?=?'網(wǎng)站標題',

'value'?=?'管理系統(tǒng)',

'type'?=?'text',

'box'?=?'',

'tab'?=?'main',

'sort'?=?'2'

],

[

'code'?=?'site_keywords',

'name'?=?'關鍵詞',

'value'?=?'管理系統(tǒng)',

'type'?=?'text',

'box'?=?'',

'tab'?=?'main',

'sort'?=?'3'

],

[

'code'?=?'site_description',

'name'?=?'站點描述',

'value'?=?'管理系統(tǒng)',

'type'?=?'text',

'box'?=?'',

'tab'?=?'main',

'sort'?=?'4'

]

];

function?merge($arr)

{

$ret?=?[];

foreach?($arr?as?$item)?{

$ret[$item['code']]?=?$item['value'];

}

return?$ret;

}

print_r(merge($arr));

網(wǎng)站名稱:php重新組合數(shù)據(jù) php數(shù)組重復
網(wǎng)站URL:http://bm7419.com/article30/dohpepo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站網(wǎng)站制作、、服務器托管營銷型網(wǎng)站建設、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設