将文本添加到关联数组?

时间:2011-12-23 15:37:32

标签: php arrays

我在向关联数组添加简单文本值时遇到问题。这是我的代码的一部分

if($count > 0){ 
        echo $ns_content->encoded;//test works i see the content
        $itemnode = array ( 
            'imgurl' => $item->imgurl,
            'title' => $item->title,
            'desc' => $item->description,
            'content' => $ns_content->encoded,
            'link' => $item->link,
            'date' => $item->pubDate,
            );
        array_push($feed, $itemnode);
    }
print_r($feed);

只需回显$ ns_content->编码的作品,但是当我在数组中插入值供以后使用时,它会保持空白吗?这也是描述的情况。 唯一的问题是它们都是带有html标签的多行文字,这可能是问题???

问候

4 个答案:

答案 0 :(得分:1)

您似乎正在使用SimpleXML来访问XML文档。如果要将节点的值存储为字符串,则必须将其强制转换为字符串(否则只能引用SimpleXMLElement实例)。

有三种方法可以做到:

// strval and (string)-cast call __toString()
$str = strval($item->description); 
$str = (string)$item->description;

// call __toString() directly, might blow up if "$item->description" is no object
$str = $item->description->__toString();

答案 1 :(得分:1)

也许if($count > 0)无效?您是否尝试将print_r置于if内?

答案 2 :(得分:1)

CDATA?我想有时CDATA会在尝试解析Feed时遇到困难。尝试使用LIBXML_NOCDATA标志的SimpleXML吗?

答案 3 :(得分:0)

您的HTML可能正在呈现。尝试:

echo '<pre>' . print_r($feed, 1) . '</pre>';