亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數組合并和覆蓋

數組合并和覆蓋

PHP
慕標5832272 2022-07-22 16:31:58
我想知道是否可以合并兩個數組,然后覆蓋原始數組的屬性。$originalArray = [1,2,3];$newArray = [         'first'  => array_merge($originalArray, [4,5]),         'second' => array_merge($originalArray, [6,7]),];所以我想要實現的是$originalArray,[1,2,3]然后$newArray['first']是[1,2,3,4,5],然后$newArray['second']是[1,2,3,4,5,6,7]現在,我所擁有的是$originalArrayis [1,2,3], then $newArray['first']is[1,2,3,4,5]和 then $newArray['second']is [1,2,3,6,7],這是非常有意義的,因為$originalArray它被合并到兩個實例上first,但沒有被覆蓋。second$originalArray我想知道這是否可能?我們可以中間覆蓋$originalArraywithin的值$newArray嗎?
查看完整描述

4 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

使用附加變量來保存累積的合并。


$originalArray = [1,2,3];


$newArray = [

    'first' => ($tempArray = array_merge($originalArray, [4,5])),

    'second' => ($tempArray = array_merge($tempArray, [6,7])),

    'third' => ($tempArray = array_merge($tempArray, [8,9])),

    ...

];


查看完整回答
反對 回復 2022-07-22
?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

這是您想要執行的操作:


$originalArray = [1,2,3];

$newArray = [

         'first'  => array_merge($originalArray, [4,5]),

         'second' => array_merge($originalArray, [6,7]),

];



function val($newArray) { return $newArray; }

$originalArray = array_map( 'val' , $newArray);

print_r( $originalArray );


輸出:


Array ( 

[first] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) 

[second] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 6 [4] => 7 ) 

)


查看完整回答
反對 回復 2022-07-22
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

使用循環進行合并,并使用最后一次合并更新原始數組。


<?php


$orig  = [1,2,3];

$trans = [

         'first'  => [4,5],

         'second' => [6,7],

];


foreach($trans as &$v) {

    $orig = $v = array_merge($orig, $v);

}

unset($v);


var_export($trans);

輸出:


array (

  'first' => 

  array (

    0 => 1,

    1 => 2,

    2 => 3,

    3 => 4,

    4 => 5,

  ),

  'second' => 

  array (

    0 => 1,

    1 => 2,

    2 => 3,

    3 => 4,

    4 => 5,

    5 => 6,

    6 => 7,

  ),

)


查看完整回答
反對 回復 2022-07-22
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

試試下面的代碼。它為你工作。


<?php

$originalArray = [1,2,3];


$newArray['first'] = array_merge($originalArray, [4,5]);

$newArray['second'] = array_merge($newArray['first'], [6,7]);

$newArray['third'] = array_merge($newArray['second'], [8,9]);


echo "<pre>";

print_r($newArray);

?>

=> 輸出

Array

(

    [first] => Array

        (

            [0] => 1

            [1] => 2

            [2] => 3

            [3] => 4

            [4] => 5

        )


    [second] => Array

        (

            [0] => 1

            [1] => 2

            [2] => 3

            [3] => 4

            [4] => 5

            [5] => 6

            [6] => 7

        )


    [third] => Array

        (

            [0] => 1

            [1] => 2

            [2] => 3

            [3] => 4

            [4] => 5

            [5] => 6

            [6] => 7

            [7] => 8

            [8] => 9

        )


)


查看完整回答
反對 回復 2022-07-22
  • 4 回答
  • 0 關注
  • 185 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號