0

すべてのスタック オーバーフロー メンバーにこんにちは。配列操作に関する私の問題を解決してください。

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  
    )

)  

これが私が達成したいことです:
私は配列のそれぞれにいくつかの他の値を追加したかった.
pls は、私が追加しようとしている矢印を参照してください。

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);
}

key関数の詳細については、 PHP ドキュメントを参照してください。

于 2013-02-07T15:17:46.703 に答える
0

Marc B が言ったように、これは一種の冗長なデータですが、私の答えは次のとおりです。

$new_array = 配列();

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