0

嗨,所有stackoverflow成员,请帮助我解决有关数组操作的问题。

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?
    )

)  

提前谢谢大家..

4

5 回答 5

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/>';
于 2013-02-07T15:17:36.280 回答
0
foreach (array_keys($my_array) as $key) {
    $my_array[$key]['store'] = $key;
}
于 2013-02-07T15:17:20.917 回答
0

如果我理解问题,这应该相对容易。试试这个:

$new_array = array();
foreach($stores_array as $t) {
    $new_array[$t] = $items_array;
    $new_array['store'] = $t;
}
于 2013-02-07T15:17:39.620 回答
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 文档中找到有关该key函数的更多信息。

于 2013-02-07T15:17:46.703 回答
0

正如 Marc B 所说,这是一种冗余数据,但这是我的答案:

$new_array = array();

foreach($stores_array as $t) {
    $new_array[$t] = $items_array;
    $new_array[$t]['store'] = $t;
}
于 2013-02-07T15:25:50.977 回答