質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

PHPで配列に配列の追加

msx2
msx2

総合スコア174

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

2回答

0グッド

0クリップ

21698閲覧

投稿2017/04/18 07:43

配列1に配列2を追加したいです。

■配列1
$arr1[0] = ["id"=>101, 'name'=>"aaa"];
$arr1[1] = ["id"=>102, 'name'=>"bbb"];

■配列2
$arr2[0] = ["id"=>103, 'name'=>"ccc"];
$arr2[1] = ["id"=>104, 'name'=>"ddd"];

■欲しい結果
$arr1[0] => ["id"=>101, 'name'=>"aaa"];
$arr1[1] => ["id"=>102, 'name'=>"bbb"];
$arr1[2] => ["id"=>103, 'name'=>"ccc"];
$arr1[3] => ["id"=>104, 'name'=>"ddd"];

array_pushやarray_mergeではダメで、+=演算子はキーが重複しているのでうまくいきません。
下記の様にforeachで回すしかないのでしょうか?
キーはふり直しで構いません。

PHP

1foreach($arr2 as $a){ 2 $arr1[] = $a; 3}

よろしくお願いします。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答2

1

ベストアンサー

php

1<?php 2$arr1[0] = ["id"=>101, 'name'=>"aaa"]; 3$arr1[1] = ["id"=>102, 'name'=>"bbb"]; 4 5$arr2[0] = ["id"=>103, 'name'=>"ccc"]; 6$arr2[1] = ["id"=>104, 'name'=>"ddd"]; 7 8$a = array_merge($arr1,$arr2); 9 10print_r($a);

結果

Array ( [0] => Array ( [id] => 101 [name] => aaa ) [1] => Array ( [id] => 102 [name] => bbb ) [2] => Array ( [id] => 103 [name] => ccc ) [3] => Array ( [id] => 104 [name] => ddd ) )

合ってません?

投稿2017/04/18 07:53

shi_ue

総合スコア4437

kei344👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

msx2

2017/04/18 07:57

ありがとうございます。 array_merge関数の使い方を勘違いしていました。。 お恥ずかしい(汗)
shi_ue

2017/04/18 07:59

ドンマイ!

0

array_pushやarray_mergeではダメで、

というのは、array_pushやarray_mergeは使ってはいけないという制限があるという事でしょうか?
そうでなければ以下の様な形で求める配列が取得できます。
使ってはいけないのであれば、foreachで回してしまうのが手っ取り早くはあります。

PHP

1<?php 2 3$arr1[0] = ["id"=>101, 'name'=>"aaa"]; 4$arr1[1] = ["id"=>102, 'name'=>"bbb"]; 5$arr2[0] = ["id"=>103, 'name'=>"ccc"]; 6$arr2[1] = ["id"=>104, 'name'=>"ddd"]; 7 8$arr1 = array_merge($arr1,$arr2); 9 10var_dump($arr1);

実行結果

array(4) { [0]=> array(2) { ["id"]=> int(101) ["name"]=> string(3) "aaa" } [1]=> array(2) { ["id"]=> int(102) ["name"]=> string(3) "bbb" } [2]=> array(2) { ["id"]=> int(103) ["name"]=> string(3) "ccc" } [3]=> array(2) { ["id"]=> int(104) ["name"]=> string(3) "ddd" } }

投稿2017/04/18 08:00

tanat

総合スコア18518

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

msx2

2017/04/18 08:04

array_merge関数で求めている配列になりました。 ご回答ありがとうございました。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。