7

3 ページの送信フォームを作成していますが、すべての $_POST の結果を単一のセッション変数に保存したいと考えています。

したがって、ページ 1 は、配列を設定し、投稿データの最初のロットを追加することから始まります。

$_SESSION['results'] = array();
$_SESSION['results'] = $_POST // first lot of post data

これはうまく機能し、次のような配列を返します。

Array
(
  [name] => bob
  [address] => 1 foobar way
  [age] => 100
)

したがって、2ページ目から結果を取得したら、新しい配列+キーを呼び出さずに既存の配列に単純に追加したい

array_push($_SESSION['results'], $_POST); //second lot of post data

このようなものを取得するには:

Array
(
  [name] => bob
  [address] => 1 foobar way
  [age] => 100
  [job] => rubbish php dev
  [salary] => 1000
)

しかし、代わりに私は得る:

Array
(
  [name] => bob
  [address] => 1 foobar way
  [age] => 100
  [0] => Array
    (
      [job] => rubbish php dev
      [salary] => 1000
    )
)

さらに厄介なのは、コードを微調整する前に、これが正しく機能していたと確信していることです。私は何を間違っていますか?

4

4 に答える 4

8

+演算子を使用することもできます:

$combined = $_SESSION['results'] + $_POST;
于 2013-03-20T14:03:45.933 に答える
4

array_merge()は、あなたが求めている関数です。

于 2013-03-20T13:58:04.007 に答える
1

array_merge()あなたの答えはhttp://php.net/manual/en/function.array-merge.phpを参照してください

于 2013-03-20T13:58:42.673 に答える
0

を使用する必要がarray_merge()あります。これを見てください: array_merge()

于 2013-03-20T14:00:53.340 に答える