2

Joomlaデータベースにいくつかの情報があり、ループして特定の情報を引き出す必要があります。

記事をうまくループできますが、[画像]からの情報を取得できません。可能であれば「banner_box.jpg」だけをプルする必要があります。「image_intro」:「image/banner_box.jpg」だけをプルする必要があります。

これまでの私のコードはデータベースをループします。

foreach ($result as $item) {
                    //makes array
                    $newsitems[] = array(
                        'title' => $item->title,
                        'text'  => $item->introtext,
                        'image' => $item->images

                    );                  
                }

私の出力は印刷されました。

Array
(
    [0] => Array
        (
            [title] => Service 2
            [text] => <p>Lorem ipsum dolor sit amet, conseteetur sadipscing elitr, sed diam monumy eirmod..<a href="http://www.google.co.uk">View more</a></p>
            [image] => {"image_intro":"images\/banner_box2.jpg","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}
        )

    [1] => Array
        (
            [title] => Service 1 
            [text] => <p>Lorem ipsum dolor sit amet, conseteetur sadipscing elitr, sed diam monumy eirmod..<a href="http://www.google.co.uk">View more</a></p>
            [image] => {"image_intro":"images\/banner_box1.jpg","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}
        )

)

みんな、ありがとう。

4

3 に答える 3

3

$item->images は json 形式なので、デコードする必要があります

foreach ($result as $item) {
    $imgData = json_decode($item->images, true);

    // create array
    $newsitems[] = array(
        'title' => $item->title,
        'text'  => $item->introtext,
        'image' => $imgData['image_intro']
    );                  
}
于 2013-03-11T11:40:52.390 に答える
2

そのデータはjson形式でエンコードされます。json_decode()を使用してデコードする必要があります。コードは次のようになります (ループ内)。

$images_data = json_decode($item->images);

次に、次のようにオブジェクトのプロパティにアクセスできます$images_data->images_intro

于 2013-03-11T11:40:22.840 に答える
2

次のようにjson_decode()を試してください。

$decoded = json_decode($newsitems[0]['image'], true); //make it array for later access
于 2013-03-11T11:40:34.883 に答える