2014-04-24 36 views
0

我有以下的數組:插入空值到小數組

Array 
(
    [xx] => Array 
     (
      [0] => 3 
      [1] => 10 
      [2] => 1 
      [3] => 5 
      [4] => 4 
      [5] => 15 
      [6] => 49 
      [7] => 14 
      [8] => 7 
      [9] => 2 
      [10] => 3 
     ) 

    [yy] => Array 
     (
      [0] => 1 
      [1] => 2 
      [2] => 1 
      [3] => 2 
     ) 

) 

我要插入空值通過與XX陣列進行比較來YY陣列裝置通過用較大的陣列比較我需要插入空值到更小的數組在他們的索引。最後我需要輸出像

Array 
(
    [xx] => Array 
     (
      [0] => 3 
      [1] => 10 
      [2] => 1 
      [3] => 5 
      [4] => 4 
      [5] => 15 
      [6] => 49 
      [7] => 14 
      [8] => 7 
      [9] => 2 
      [10] => 3 
     ) 

    [yy] => Array 
     (
      [0] => 1 
      [1] => 2 
      [2] => 1 
      [3] => 2 
      [4] => null 
      [5] => null 
      [6] => null 
      [7] => null 
      [8] => null 
      [9] => null 
      [10] => null 
     ) 

) 

不僅xx和yy。數組可能會擴展。我們必須比較每個數組,並在較小的數組中插入空值,並與較大數組的大小相匹配。最後每個數組數應相同

+0

我從字面上理解你所要做的事情並沒有什麼。你如何比較它們?你有什麼輸入和你期望的輸出? – briosheje

+0

你有沒有嘗試過任何代碼? –

+0

[你有什麼嘗試?](http://whathaveyoutried.com)如果你沒有發佈任何代碼或者沒有試圖自己找到解決方案,你可能不應該問這個問題。 –

回答

4

假設你想的YY陣列XX的大小相同:

$array['yy'] = array_pad($array['yy'], count($array['xx']), null); 

爲了均衡一大堆陣列:

$length = max(array_map('count', $array)); 
$array = array_map(
    function (array $a) use ($length) { return array_pad($a, $length, null); }, 
    $array 
); 
+0

我認爲他希望能夠雙向進行。 – Irdrah

+2

然後,我會讓他再次做同樣的事情,扭轉xx和yy。 – deceze

+0

他可能想要墊到更大的陣列,但這不是很難做到,並且很容易找到 –