2016-03-24 27 views
1

先生您好指數的基礎上,缺少一個數組值到另一個是我的,其中包含了特定索引一些遺漏值多維數組我們如何填寫以下

$數組1 =數組 ( [2] = >陣列 ( [1] => 2 [2] => 4 [3] => 9 )

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

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

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

以下是我的第二陣列 我想把指數3和4的數組2值到$陣列1指數3和4。但我天璣要更換整個陣列的價值。 我剛要替換的那些在$ ARRAY1

$數組2空值=陣列 ( [3] =>數組 ( [1] => 2 [2] => 4 [3] => 9 )

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

下面其中i示出了單個qoutes替換值需要的輸出)

ARRAY1 $ =陣列 ( [2] =>數組 ( [1] => 2 [2] => 4 [3] => 9 )

[3] => Array 
    (
     [1] => 4 
     [2] => 6 
     [3] => '9' 
    ) 

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

[5] => Array 
    (
     [1] => 2 
     [2] => 4 
     [3] => '7' 
    ) 
+0

使用foreach循環來檢查索引是否爲null,如果爲null,則在此處放置新值。 –

+0

我嘗試,但在多維數組我混淆 – shan

+0

然後,等我爲你做了這個。 –

回答

1

這是它:

$array1 = array("2"=> array("1"=>"2", "2"=>"4", "3"=>"9"), 
       "3"=> array("1"=>"4", "2"=>"6", "3"=>""), 
       "4"=> array("1"=>"4", "2"=>"6", "3"=>"7"), 
       "5"=> array("1"=>"2", "2"=>"4", "3"=>"") 
       ); 

$array2 = array("3"=> array("1"=>"2", "2"=>"4", "3"=>"9"), 
       "5"=> array("1"=>"4", "2"=>"6", "3"=>"7") 
       ); 

foreach ($array1 as $key => $value) { 
    foreach ($value as $key2 => $value2) { 
     if($value2 == ""){ 
      $array1[$key][$key2] = $array2[$key][$key2]; 
     } 
    } 
} 
echo '<pre>'; 
print_r($array1); 
echo '</pre>'; 

輸出:

Array 
(
    [2] => Array 
     (
      [1] => 2 
      [2] => 4 
      [3] => 9 
     ) 

    [3] => Array 
     (
      [1] => 4 
      [2] => 6 
      [3] => 9 
     ) 

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

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

) 
+1

Sir真的很感謝這麼多@Frayne Konok先生 – shan