アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。
30*30とかいうマップファイル

ex(map.txt).
0,0,0,0,0
2,3,0,0,0
2,2,1,1,1...

こんな感じのファイルを2次元配列に読み
込みたいのですが。
ゲームに使いたいので、横をX座標に対応
させ、map[1][2]=2,map[3][2]=1としたいのです。

次のように作ったのですがうまくいきません。

$temp=file("map.txt");
foreach($temp as $tempmap){
$i=0;
$map[$i]=explode(",",$tempmap);
$i=$i+1;
}

マップの読み込みなどをしたことある人など、
なにか分かる人がいましたら、お願いします。
(もっと簡単な方法など)。

A 回答 (3件)

foreach のたびに$iを0に初期化しているので$map[0]にしか入らないので、$i=0;をforeachの外に出しましょう。



$temp=file("map.txt");
$i=0;
foreach($temp as $tempmap){
$map[$i]=explode(",",$tempmap);
$i=$i+1;
}
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうでした。単純なミスでした。

お礼日時:2006/01/29 12:16

$iの初期化する位置が間違っています。

foreachの前に置けばうまくいきます。

$temp=file("map.txt");
$i=0;
foreach($temp as $tempmap){
$map[$i]=explode(",",$tempmap);
$i++;
}

マップ読み込みの効率の良い方法については私は分かりません。
30*30程度ならこれでもそれほど問題ないような気もしますが…。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
すいません。単純なミスでした。

お礼日時:2006/01/29 12:17

PHPの配列は自動採番するので以下で十分だと



<?PHP
$temp=file("map.txt");
foreach($temp as $tempmap){
$map[]= explode(",",$tempmap);
}
?>
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
あとで、試してみます。

お礼日時:2006/01/29 12:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!