4

大学の最終学年のプロジェクトの一環として構築している映画データベース用に、PHP配列からさまざまな標準のHTMLリストスタイルを作成しようとしていますが、これを行う方法にアクセスしたり理解したりするのに問題があります。使用しているさまざまなAPIから関連データを取得していますが、リスト全体を動的に作成し、必要に応じて正しい情報を入力したいと思います。

私が作成しようとしている2つのリストスタイルの詳細は以下のとおりです。

リストスタイル1-キャラクター/キャストの詳細

リストの最初のスタイルについては、次のように作成します。

<ul>
   <li>Cast name - Character name</li>
   <li>Cast name - Character name</li>
   <li>etc. etc.</li>
<ul>

配列から直接のデータセットは次のようになります。

Array
(

[abridged_cast] => Array
    (
        [0] => Array
            (
                [name] => Daniel Craig
                [id] => 162687443
                [characters] => Array
                    (
                        [0] => James Bond
                    )

            )

        [1] => Array
            (
                [name] => Javier Bardem
                [id] => 162661456
                [characters] => Array
                    (
                        [0] => Silva
                    )

            )

        [2] => Array
            (
                [name] => Judi Dench
                [id] => 162652435
                [characters] => Array
                    (
                        [0] => M
                    )

            )

        [3] => Array
            (
                [name] => Ralph Fiennes
                [id] => 162653681
                [characters] => Array
                    (
                        [0] => Gareth Mallory
                        [1] => Mallory
                    )

            )

        [4] => Array
            (
                [name] => Naomie Harris
                [id] => 162705781
                [characters] => Array
                    (
                        [0] => Eve
                    )

            )

    )

上記の例では、それぞれのキャラクター名を持つ5人のキャストメンバーがいますが、他のいくつかの例では、5人より多いまたは少ないので、理想的には、システムに、与えられたキャストメンバーの数を認識して、それぞれのリスト、最大10個の名前。

リストスタイル2-ビデオ

最後のスタイルと同様ですが、このリストは次のようになります。

<ul>
    <li><a href='<http://youtube.com/<dynamically generated URL direct to the clip>'><img src='dynamically generated URL to the clip's thumbnail' /></a></li>
    <li>same as above...</li>
</ul>

ソース配列は次のようになります。

Array
(
[id] => 37724
[youtube] => Array
    (
        [0] => Array
            (
                [name] => Trailer
                [size] => HQ
                [source] => 24mTIE4D9JM
            )

        [1] => Array
            (
                [name] => Official Trailer
                [size] => HD
                [source] => 6kw1UVovByw
            )

        [2] => Array
            (
                [name] => Trailer 1
                [size] => HD
                [source] => 1Uyjf5Pp0Ko
            )

        [3] => Array
            (
                [name] => Trailer 2
                [size] => HD
                [source] => 5Ejo9_3iUpw
            )

    )

)

この投稿の長さについてお詫び申し上げます。支援できる可能性のある人に事前に感謝します。

4

1 に答える 1

1

あなたが探しているものはforeachループと呼ばれています。最初の例では、次のようになります。

foreach($dataSet['abridged_cast'] as $castMember){
    echo '<li>'.$castMember['name'].'-'.implode(', ', $castMember['characters']). '</li>';
}

現在、この例は純粋に例示的なものですが、最も明確に初心者のアプローチです。それでも、MVCパターンとPHPフレームワーク(たとえばYII)を調査することを強くお勧めします。適切なYIIを展開して構成すれば、すべての優れた機能により、ここですべての反復作業が実行されるはずです。

あなたの質問には2つの部分が含まれていることがわかりましたが、2番目の質問のサンプルを書くつもりはありません。これは、最初の質問と実質的に同じであり、適切な注意を払う必要があるためです。

于 2012-12-05T21:50:15.620 に答える