从数组PHP中获取信息

时间:2013-03-11 11:37:36

标签: php regex arrays

我在需要循环的Joomla数据库中有一些信息,并提取某些信息。

我可以成功完成文章循环,但我无法从[图片]获取信息。我需要只拉“image_intro”:“image / banner_box.jpg”,如果可能的话只需要“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":""}
        )

)

谢谢大家。

3 个答案:

答案 0 :(得分:3)

$ item-&gt;图片采用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']
    );                  
}

答案 1 :(得分:2)

该数据以json格式编码。您需要使用json_decode()对其进行解码。你的代码看起来像这样(在你的循环中):

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

然后,您可以访问对象的属性,如下所示:$images_data->images_intro

答案 2 :(得分:2)

尝试使用json_decode(),例如:

$decoded = json_decode($newsitems[0]['image'], true); //make it array for later access