- 締切済み
apiで取得したデータの出力について
現在apiで取得したデータ(オブジェクト)をforeach構文を使い出力させているのですが、 上から3つ目までをまず出力させ、一旦中断。その後、同ページの指定の場所に 4つ目以降のデータを出力させる方法を探しています。 色々と試してはいるのですが上手くいきません。 この処理方法についてご存知の方がいらっしゃいましたら是非ともご回答の方を宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kool_noah
- ベストアンサー率33% (95/285)
やり方は色々あるだろうけど 常に上から3つとそれ以降で分けたいのであれば $a = array('一個目', '二個目', '三個目', '四個目', '五個目'); //0番目から、3つの要素取得 $b = array_slice($input, 0, 3); //3番目以降の要素を取得 $c = array_slice($input, 3); //それぞれ回す foreach($b as $key => $vallue) { } //なんか表示 foreach($c as $key => $vallue) { } とかでも。 ちょっと厳密に動きを精査してないんで、配列に3つ以上要素があるかとか、array_sliceの仕様をちゃんと理解してから使ってみてください。
- yambejp
- ベストアンサー率51% (3827/7415)
foreach構文でがポインタをシークできないのでむずかしいかも もしやるなら適当なカウンタをまわしてbreakし、次のforeachで そのカウンタまでのデータを空回しさせるとか? whileをつかってcurrentやnextでポインタを追いかけてもいいですが falseに引っかかる可能性があるのでeach()をつかう方が確実かも <?PHP $datas=array("a"=>"A","b"=>"B","c"=>"C","d"=>"D","e"=>"E"); $count=0; while($data=each($datas)){ print $data["value"]; if ($count>=2) break; $count++; } print "..."; while($data=each($datas)){ print $data["value"]; } ?>