
こんにちわ。
配列をforeachでループさせて、それを多次元配列に入れていくことは可能でしょ
うか?
例えば以下のようなデータがあるとします。
---meibo.dat--------
c21<>田中<>21<>東京
c22<>佐藤<>22<>大阪
--------------------
---test.php-----------------------------------------------------
<?
$list_meibo = file("meibo.dat");
foreach($list_meibo as $temp){
$i=split("<>",$temp);
$a=array($i[0] => array("name"=>$i[1],"age"=>$i[2],"ad"=>$i[3]),);
}
?>
-------------------------------------------------------------------
これでは
$a=array("c21"=>array("name"=>"田中","age"=>"21","ad"=>"東京"),
"c22"=>array("name"=>"佐藤",age"=>"21","ad"=>"大阪"),);
という具合になってくれないでしょうか?
これでいくと、配列の最後の要素のみデータに残ります。
どのようにしたらよいでしょうか?
ご教授お願いします。
No.2ベストアンサー
- 回答日時:
<?
$list_meibo = file("meibo.dat");
$a = array();
foreach($list_meibo as $temp){
$i=split("<>",$temp);
$a[$i[0]]["name"] = $i[1];
$a[$i[0]]["age"] = $i[2];
$a[$i[0]]["ad"] = $i[3];
}
?>
私ならこうしますね。
ありがとうございます
上手くいきました。
あれから自分でも考えて
array_mergeを使ってました。でもこちらの方がシンプルでよいですね。
人によっていろいろやり方があって面白いですね。
No.1
- 回答日時:
> これでいくと、配列の最後の要素のみデータに残ります。
このやり方では、配列に毎回新しい配列をコピーしているからです。
新しい配列を作り、それに格納して行かなくてはなりません。
$data=array();
$list_meibo = file("meibo.dat");
foreach($list_meibo as $temp){
$i=split("<>",$temp);
$a=array($i[0] => array("name"=>$i[1],"age"=>$i[2],"ad"=>$i[3]));
array_push($data,$a);
}
これで配列の中身を確認してみてください。
print_r($data);
ありがとうございます
>このやり方では、配列に毎回新しい配列をコピーしているからです
たしかにマニュアル等にもそのように書かれていました。
おかげさまでうまくいきました。
array_pushを使えばよかったんですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列の要素(value)に、変数を...
-
PHPのmin関数、「1」以上の数値...
-
【PHP】配列のキー名の修正は可...
-
配列をループでたくさん宣言し...
-
配列をmysqlに保存
-
チェックボックス複数選択 mys...
-
Smartyでtplファイルから配列を...
-
$_SESSIONについて教えて下さい。
-
$_SESSIONに二次元配列を使える...
-
ヒアドキュメントの中のfor文
-
mb_ereg_replaceについて
-
csvの内容を行単位で削除したい
-
PHPでこのコード自体に意味は無...
-
file_existsでファイル名の部分...
-
PHPでの簡易ビンゴゲームでの疑...
-
ファイルから指定行数分だけ読...
-
postgresql関数をつかったレコ...
-
VBAでcsvファイルもシートもあ...
-
チェックボックスが複数選択で...
-
PHPで外部ファイルを読み込むと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語の配列をPush(追加)する...
-
STLのvectorで作った配列をメン...
-
行列
-
CArrayのソート
-
読み(あ行~わ行)ごとに分け...
-
delphi 2次元配列がわかりません
-
C言語 最大値と最小値を求めて...
-
特定の文からメールアドレスの...
-
CArrayの要素としてCStringArra...
-
System.String.Splitでエラー
-
PHPで10連ガチャを作成したいの...
-
verilogで、配列の一部をタスク...
-
cakephpでのトランザクション処...
-
再帰関数を用いて配列の合計を...
-
mb_encode_numericentityでタグ...
-
配列を指定した順序でソート
-
多次元配列をエンコードする関...
-
forとかで連番の変数を一気に格...
-
正規表現
-
楽天市場ジャンル検索APIで順番...
おすすめ情報