- 締切済み
二次元配列について
$recordは二次元配列です。 こういうものを書いておりまして、 foreach($record as $key => $val) { if($key > 18){ for($i=1; $i<=25; $i++){ $data = $record[0].",".$i.",".★★★; ★★★の位置に$record[19][1]、$record[20][1]…$record[19][2]、$record[20][2]… という値を順に入れていきたいのですが、どうしたらよいでしょうか。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mpx
- ベストアンサー率71% (149/209)
質問の内容をもう一度整理した方が良さそうですね >> $recordは二次元配列です。 >> 中略 >> $data = $record[0].",".$i.",".★★★; 説明は二次元なのに、例示は1次元です。 >> $record[19][1]、$record[20][1]…$record[19][2]、$record[20][2]… $recordの構成、特に各キーの下限上限値が不明です(・・・での省略部分) $recordの構成が分かればもう少しスマートに組めそうですが 無難に下記でどうでしょう foreach($record as $key => $val) { $i2=1; $i1=19; $i1max=25; //配列のキー値の上限を勝手に決めました if($key > 18){ for($i=1; $i<=25; $i++){ $data = $record[0][0].",".$i.",".$record[$i1][$i2]; $i1++; if ($i1>$i1max) {$i1=19;$i2++;} } } }
- karumakaruma
- ベストアンサー率65% (65/100)
これだけでは、質問の意図がつかめませんので 補足をお願いします。 まず、$recordの構成を簡単にでもいいので説明ください。 例: $record = array( 19=>array( "aa","bb","cc" ), 20=>array( "AA","BB","CC" ) ); $recordの展開ループ中に再度$recordを呼んでいるようですが、 どういった事をしようとされていますか? 単純に for($i=1;$i<=25;$i++){ $data = $record[0].",".$i.",".$record[19][$i]; $data = $record[0].",".$i.",".$record[20][$i]; } という呼び出し方でいいような気もしますが。 $record[0]の存在も不明です。
お礼
もうしわけありませんでした。 あせっていていろいろと説明不足の質問をしてしまいました。 結局自己解決しました。 こんな質問に丁寧なご回答、本当にありがとうございました。
お礼
もうしわけありませんでした。 あせっていていろいろと説明不足の質問をしてしまいました。 結局自己解決しました。 こんな質問に丁寧なご回答、本当にありがとうございました。