• 締切済み

PHPの配列要素に別の配列を入れるには?

とある商品情報を管理するPHPプログラムを書いています。 最終的に、$Paramsの'goodIdArray'という要素に商品情報を2つ入れたいと思っています。 以下の通りに書いてみたんですが、うまくいきません。 $goods_id = array( 'goods_id' => '商品1', 'goods_id2' => '商品2'); $info['goods_id'] = $goods_id;  #$info配列の「goods_id」という要素にgoods_id配列を入れる $goodsIdArray[] = $info['goods_id']['goods_id']; #goodsIdArrayに商品1を入れる $goodsIdArray[] = $info['goods_id']['goods_id2']; #goodsIdArrayに商品2を入れる $Params = array('goodIdArray' => $goodsIdArray) #inParams配列の「goodIdArray」という要素に$goodsIdArray(商品1と商品2)を入れる 無駄に変数を使いまくっているように見えますが、もともとのプログラムが複数のPHPファイルにまたがって動作しているため、変数がこれだけの数になっています。 そもそも、ある配列の要素に別の配列(複数要素をもつもの)は入れられないんでしょうか。 素人の質問でトンチンカンなことを言っているかもしれませんが、ご回答お願いします。

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5292/13826)
回答No.3

質問に書かれているプログラムを実行すると、$Paramsには以下のようにデータが入っています。 $Params["goodIdArray"][0] => "商品1" $Params["goodIdArray"][1] => "商品2" やりたいことはできているような気がしますが、貴方の理想とする結果はどんな形なのでしょう?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

いまいち状況がわかりませんが $infoを介して投入するなら $Params1 = array('goodIdArray' => array($info['goods_id']['goods_id'],$info['goods_id']['goods_id2'])); print_r($Params1); ダイレクトに入れていいなら $Params2 = array('goodIdArray' => array($goods_id['goods_id'],$goods_id['goods_id2'])); print_r($Params2); みたいな感じですか?

  • duron
  • ベストアンサー率77% (73/94)
回答No.1

$Params = array('goodIdArray' => $goodsIdArray); 最後のセミコロンが抜けてるからではないですかね?

tell_me_et
質問者

補足

すみません、コピペミスです。 セミコロンはついています。

関連するQ&A