2013-02-07 239 views
0

嗨,所有的stackoverflow成員,請幫我解決有關數組操作的問題。PHP數組合並/合併

stores_array: 
Array 
(
    [0] => store1 
    [1] =>store2 
) 

items_array: 
Array 
( 
    [electronics]=>led tv 
    [cosmetics]=>eyeliner 
    [fruits]=>apple 
    [vegetables]=>cabbage 
) 

這裏是我到目前爲止有:

$new_array = array(); 
    foreach($stores_array as $t) { 
     $new_array[$t] = $items_array; 
    } 

    echo '<pre>'; 
    print_r($new_array); 
    echo '<pre/>'; 

這裏是輸出:

Array 
(
[store1] => Array 
    (
     [electronics]=>led tv 
     [cosmetics]=>eyeliner 
     [fruits]=>apple 
     [vegetables]=>cabbage 
    ) 
[store2] => Array 
    (
     [electronics]=>led tv 
     [cosmetics]=>eyeliner 
     [fruits]=>apple 
     [vegetables]=>cabbage 
    ) 

) 

這裏就是我想要實現:
我想添加一些其他的每個數組中的值。
請參閱我打算添加的箭頭。

Array 
(
[store1] => Array 
    (
     [electronics]=>led tv 
     [cosmetics]=>eyeliner 
     [fruits]=>apple 
     [vegetables]=>cabbage 
     [store]=>store1 <------- how can i add these? 
    ) 
[store2] => Array 
    (
     [electronics]=>led tv 
     [cosmetics]=>eyeliner 
     [fruits]=>apple 
     [vegetables]=>cabbage 
     [store]=>store2 <------- how can i add these? 
    ) 

) 

感謝大家提前..

+0

這不是多餘的信息嗎? –

+0

'foreach($ new_array as $ store => $ store_info)'會在不浪費內存的情況下爲您提供信息。 –

回答

1

試試這個:

$new_array = array(); 
foreach($stores_array as $t) { 
    $new_array[$t] = $items_array; 
    $new_array[$t]["store"]=$t; 
} 

echo '<pre>'; 
print_r($new_array); 
echo '<pre/>'; 
0
foreach (array_keys($my_array) as $key) { 
    $my_array[$key]['store'] = $key; 
} 
0

這應該是比較容易的,如果我理解這個問題。試試這個:

$new_array = array(); 
foreach($stores_array as $t) { 
    $new_array[$t] = $items_array; 
    $new_array['store'] = $t; 
} 
0

你只需要在數組的末尾添加值。

$new_array = array(); 

    foreach($stores_array as $t) { 
     $items_array[] = $t; 
     $new_array[$t] = $items_array; 
    } 

無論如何,如果你只是想以某種方式獲取關鍵的,你不需要保存它的任何地方,你可以隨時訪問它使用key($array)

在你的情況:

foreach($new_array as $data){ 
    echo key($data); 
} 

你可以在PHP documentation找到更多關於key功能的信息。

0

正如馬克乙說,它是有點冗餘數據,但這裏是我的回答:

$ new_array =陣列();

foreach($stores_array as $t) { 
    $new_array[$t] = $items_array; 
    $new_array[$t]['store'] = $t; 
}