MySQLのデータを多次元連想配列にする方法を教えて下さい。
下記のような多次元連想配列のデータがあります。
これと同様のMySQLに登録されたデータから多次元連想配列を作りたいと思います。
$test=
array(
array("id" => "1","kamoku" => "算数","tensu" => "70"),
array("id" => "2","kamoku" => "理科","tensu" => "88"),
array("id" => "3","kamoku" => "国語","tensu" => "90"),
);
print_r($test);
---print_r($test)の結果---------------------------------
Array ( [0] => Array ( [id] => 1 [kamoku] => 算数 [tensu] => 70 ) [1] => Array ( [id] => 2 [kamoku] => 理科 [tensu] => 88 ) [2] => Array ( [id] => 3 [kamoku] => 国語 [tensu] => 90 ) )
--------------------------------------------------------
これと同様のデータをMySQLに作成します。
テーブル名:test
列名:id,kamoku,tensu
MySQLからデータを取得
try
{
$dbh = new PDO($DSN , $DBUSER , $DBPASS);
$query = select * from test
$stmt = $dbh->prepare($query);
$stmt->execute();
while($result = $stmt->fetch(PDO::FETCH_ASSOC))
{
$id = ($result['id']);
$kamoku = ($result['kamoku']);
$tensu = ($result['tensu']);
}
}
catch(PDOException $e)
{
print "Error!: " . $e->getMessage() . "<br>";
die();
}
このソースの中で何らかの処理をして
print_r($test);
を実行したときに
---print_r($test)の結果---------------------------------
Array ( [0] => Array ( [id] => 1 [kamoku] => 算数 [tensu] => 70 ) [1] => Array ( [id] => 2 [kamoku] => 理科 [tensu] => 88 ) [2] => Array ( [id] => 3 [kamoku] => 国語 [tensu] => 90 ) )
--------------------------------------------------------
というような、文頭で記載したものと同じ結果を得たいと思います。
while内で
print_r($result);を行うと1行ずつ下記のような連想配列
Array ( [id] => 1 [kamoku] => 算数 [tensu] => 70 )
が取得できているのでこれを連結させて
$test_sample=<<<EOF
array("id" => "1","kamoku" => "算数","tensu" => "70"),
array("id" => "2","kamoku" => "理科","tensu" => "88"),
array("id" => "3","kamoku" => "国語","tensu" => "90")
EOF;
という配列の中身は作ることができました。
(1)ケース1
$test=array($test_sample);
print_r($test);
としてもダメで、
Array ( [0] => array("id" => "1","kamoku" => "算数","tensu" => "70"), array("id" => "2","kamoku" => "理科","tensu" => "88"), array("id" => "3","kamoku" => "国語","tensu" => "90") )
というようにうまく多次元連想配列になっていません。
(2)ケース2
$test='array('.$test_sample.')';
print_r(test);
としてみたところ、
array( array("id" => "1","kamoku" => "算数","tensu" => "70"), array("id" => "2","kamoku" => "理科","tensu" => "88"), array("id" => "3","kamoku" => "国語","tensu" => "90"))
というように配列ではなく単なる文字列として表示されてしまいます。
配列の中身を変数で扱う時には特別な記述法などがあるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
行列
-
PHPでCSVを出力するさいに、ル...
-
STLのvectorで作った配列をメン...
-
配列の添え字が小数だとどうなる?
-
濁点のソート
-
C言語 最大値と最小値を求めて...
-
C言語の配列をPush(追加)する...
-
php 多次元配列において指定し...
-
配列の要素(value)に、変数を...
-
$_SESSIONに二次元配列を使える...
-
pdfファイルの複数添付 引数の型
-
C言語でCSVファイルの行数を読...
-
stdClass Objectを連想配列のよ...
-
cookieからのデータ取得に関して
-
チェックボックス複数選択 mys...
-
プルダウンメニューにDBの内容...
-
PHPでcsvファイルデータ内の一...
-
String だと「 ByRef引数の型が...
-
PHPで、CSVファイルを、指定し...
-
PHP、{}記号の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語の配列をPush(追加)する...
-
読み(あ行~わ行)ごとに分け...
-
pg_copy_fromの使い方について...
-
STLのvectorで作った配列をメン...
-
特定の文からメールアドレスの...
-
配列の要素(value)に、変数を...
-
C言語 最大値と最小値を求めて...
-
行列
-
cakephpでのトランザクション処...
-
ファイルの書き込みについて教...
-
Smarty 三次元配列を使いたい
-
Smartyで多次元配列をスマート...
-
verilogで、配列の一部をタスク...
-
fgetc関数について
-
配列の添え字が小数だとどうなる?
-
CArrayのソート
-
変数の一致条件がたくさんある...
-
array_intersectで空欄を比較し...
-
2次元配列への標準入力
-
2次元配列CSVのソート
おすすめ情報