この記事では、PHP での Changyan 掲示板と NetEase 投稿スタイルの実装を主に紹介します。興味のある方はぜひ参考にしてください。
メッセージボードのスタイルの変更:
NetEase 投稿のスタイル:
原則
2 つのメインフィールド、id とpid およびその他のフィールドコメント表 記事ID、返信時間、返信内容、返信者などご自由に追加してください。
pid は現在返信されているコメントの ID です。
上の図からわかるように、各レイヤーの pid は前のレイヤーのコメントの ID です。上のレイアウトをよく見てください。 PHP の多次元配列に似ていますか?思いついたら簡単ですよ。
実装方法1. フロント: これは比較的単純で、p に p を埋め込むだけです。次に、p
<p class="comment"> <p class="comment"> <p class="comment"> </p> </p> </p> <p class="comment"> </p>
のボーダーとマージンパディングを設定します。 バックエンド: 最初に再帰を使用してデータベース内の結果を再編成し、次に再帰を使用して上記のフロントエンドを出力します。コードはコメントテーブルの構造と内容は次のとおりです
そして、このテーブル内のすべてのコメントを直接読み出します。次の配列を取得できます
Array ( [0] => Array ( [id] => 1 [pid] => [content] => 评论1 ) [1] => Array ( [id] => 2 [pid] => [content] => 评论2 ) [2] => Array ( [id] => 3 [pid] => [content] => 评论3 ) [3] => Array ( [id] => 4 [pid] => 1 [content] => 评论4回复评论1 ) [4] => Array ( [id] => 5 [pid] => 1 [content] => 评论5回复评论1 ) [5] => Array ( [id] => 6 [pid] => 2 [content] => 评论6回复评论2 ) [6] => Array ( [id] => 7 [pid] => 4 [content] => 评论7回复评论4 ) [7] => Array ( [id] => 8 [pid] => 7 [content] => 评论8回复评论7 ) [8] => Array ( [id] => 9 [pid] => 8 [content] => 评论9回复评论8 ) [9] => Array ( [id] => 10 [pid] => 8 [content] => 评论10回复评论8 ) )
次に、この配列を上記の掲示板フォームに再編成する必要があります
ここで、$array は上記で読み取った配列であり、最初にデフォルトで空である pid を取り出し、次に再帰して取り出します。現在のコメント ID の配列を再構成すると、以下の配列が得られます。この配列のスタイルは、前のコメント スタイル
public static function tree($array,$child="child", $pid = null) { $temp = []; foreach ($array as $v) { if ($v['pid'] == $pid) { $v[$child] = self::tree($array,$child,$v['id']); $temp[] = $v; } } return $temp; }
Array ( [0] => Array ( [id] => 1 [pid] => [content] => 评论1 [child] => Array ( [0] => Array ( [id] => 4 [pid] => 1 [content] => 评论4回复评论1 [child] => Array ( [0] => Array ( [id] => 7 [pid] => 4 [content] => 评论7回复评论4 [child] => Array ( [0] => Array ( [id] => 8 [pid] => 7 [content] => 评论8回复评论7 [child] => Array ( [0] => Array ( [id] => 9 [pid] => 8 [content] => 评论9回复评论8 [child] => Array ( ) ) [1] => Array ( [id] => 10 [pid] => 8 [content] => 评论10回复评论8 [child] => Array ( ) ) ) ) ) ) ) ) [1] => Array ( [id] => 5 [pid] => 1 [content] => 评论5回复评论1 [child] => Array ( ) ) ) ) [1] => Array ( [id] => 2 [pid] => [content] => 评论2 [child] => Array ( [0] => Array ( [id] => 6 [pid] => 2 [content] => 评论6回复评论2 [child] => Array ( ) ) ) ) [2] => Array ( [id] => 3 [pid] => [content] => 评论3 [child] => Array ( ) ) )
原理は次のようなもので、配列を再編成してから出力を反復処理するだけです。
要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。 関連する推奨事項:PHP 匿名関数とクロージャーの役割
以上がPHP は Changyan メッセージ ボードと NetEase 投稿スタイルを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。