ホームページ >バックエンド開発 >PHPチュートリアル >PHPの配列問題、多次元配列の先頭を取り出す
PHP 配列の問題、多次元配列の前の次元を取り出します。
Array ( [0] => Array ( [username] => test2222 [id] => 66) [1] => Array ( [username] => test [id] => 64 ) [ 2] => 配列 ([ユーザー名] => テスト [id] => 62) [3] => 配列 ([ユーザー名] => aaa [id] => 61))、行う必要がありますページング。最初のページでは、$key を使用して通常の 0 ~ 9 を表示できます。次のページは 10 ~ 19 であるはずですが、最初のページと同じように 0 ~ 9 が表示されています
何をするのか教えてください
あなたのことを教えてくださいアプローチ
これを行うために thinkphp を使用しました。背景の $this->assign('list',$list), $list はこの多次元配列です。フロントページでは、volist ループ、$vo.id および $vo.username を使用します。 IDと名前を表示します。 $key を使用して、このテーブルのシリアル番号を最初のページは通常の 0 ~ 9 にしますが、ページングすると、2 ページ目と 3 ページ目も最初のページと同じ 0 ~ 9 になります。 10-19、20-29 が表示されるはずです
1 つ目は最初のページ用、2 つ目は 2 ページ目用、残りは同じです
thinkphp、背景 $this - で作成しました>assign('list',$list), $list はこの多次元配列です。フロントページでは、volist ループ、$vo.id および $vo.username を使用します。 IDと名前を表示します。 $key を使用して、このテーブルのシリアル番号を最初のページは通常の 0 ~ 9 にしますが、ページングすると、2 ページ目と 3 ページ目も最初のページと同じ 0 ~ 9 になります。 10-19、20-29 を表示できるようにする必要があります。データベースとのページングですか?
これを行うために thinkphp を使用しました。背景の $this->assign('list',$list), $list はこの多次元配列です。フロントページでは、volist ループ、$vo.id および $vo.username を使用します。 IDと名前を表示します。 $key を使用して、このテーブルのシリアル番号を最初のページは通常の 0 ~ 9 にしますが、ページングすると、2 ページ目と 3 ページ目も最初のページと同じ 0 ~ 9 になります。 10-19、20-29 を表示できるようにする必要があります。データベースとのページングですか?
さて、ページングが行われていない場合は $key を使用できますが、ページングされている場合は各ページが同じになります
私が現在検討しているのは、 $key + ページ数 * 各ページに表示される行数を使用することです。各ページのページ数を取得する方法がわかりません。 thinkphp 独自のページングを使用しています。 ;volist name="list" id ="vo" key="k" > $key は現在の $list のシリアル番号です
意味によると、ページ番号 * ページ行番号を使用して計算されます。 + $key
9cc49fd1f027e60674d05a957259033a $key は現在の $list のシリアル番号です
さて、私は今この方法を思いつきました
ea287b0425d5b85cd4af39207985bce4 ここで $key はシリアル番号です現在の $list の番号
あなたの意味によると、ページ番号を使用する必要があります * ページの行数 + $key は
$list にシリアル番号を入れた方がずっと簡単だと思いました
$list にシリアル番号を入れた方がずっと簡単だと思いました
Array ( [0 ] => Array ( [username] => test2222 [id] => 66) [1] => Array ( [username] => test [id] ] => 64 ) [2] => 配列 ( [ユーザー名] => テスト [id] => 62 ) [3] => 配列 ( [ユーザー名] => aaa [id] => 61 ) )
0,1, 2,3 の出し方がわかりません
array_keys($list)
一般的なシリアル番号は 0 から始まりませんが、1 から始まるのが通例です
$pageoffs を開始シリアル番号としましょう、その後
foreach($list as &$r) $r['序号'] = $pageoffs++;$this->assign('list',$list);
array_keys($list)
一般的なシリアル番号は 0 から始まりませんが、慣習的に 1 から始まります
$pageoffs を開始シーケンス番号としましょう、その後
foreach($list as &$r) $r['序号'] = $pageoffs++;$this->assign('list',$list);