Php Can';t使用SimpleXML生成的键访问数组值
我使用WordPressXML默认导出并尝试将PostRSS与图像RSS合并。我首先抓取所有的图像和相关的帖子ID,并将它们放入一个数组中。然后我浏览每一篇博客文章,并使用文章ID从数组中获取一个图像 首先,我获取每个XML项并将它们添加到一个数组中。我使用获得的post ID作为以后访问的数组键Php Can';t使用SimpleXML生成的键访问数组值,php,arrays,xml,wordpress,rss,Php,Arrays,Xml,Wordpress,Rss,我使用WordPressXML默认导出并尝试将PostRSS与图像RSS合并。我首先抓取所有的图像和相关的帖子ID,并将它们放入一个数组中。然后我浏览每一篇博客文章,并使用文章ID从数组中获取一个图像 首先,我获取每个XML项并将它们添加到一个数组中。我使用获得的post ID作为以后访问的数组键 foreach($xml_image->channel->item as $featured) { // add image attachment url to $image arra
foreach($xml_image->channel->item as $featured) {
// add image attachment url to $image array with post_id as key
$url = $featured->guid->__toString();
$post_id = intval($featured->children($ns['wp'])->post_id->__toString());
$image[$post_id] = $url;
//var_dump($url);
//var_dump($post_id);
}
这输出为
Array ( [62] => http://image.url.com )
酷。然后,当我试图使用一个变量来访问它,或者甚至硬编码密钥/号码时,它就不起作用了
$image_url = $image[62];
Outputs: Notice: Undefined offset: 62 in /home/filename.php on line whatever
我已经尝试将这个数组转换成一个对象,并以这种方式访问键($imageobj=(object)$image)$imageobj->{62}代码>)而这也不起作用。我试过使用(int)
和intval()
,但都不起作用。即使是修剪()和(字符串)。我最终决定使用\uuuToString()
,尽管它也不起作用
我不确定simplexmlement
函数对整数做了什么以使62!=62
,或者我将如何开始以访问所需的格式复制62
我甚至尝试了数组搜索和数组过滤器,在数组中生成post id和元素(id=>$post\u id
),而不是键本身--nada
任何指导都将不胜感激。这段代码的基础是,只需在上面添加上面的foreach循环函数(使用单独的文件加载和所有jazz功能)。您确定您的目标数组是$image
?似乎它没有初始化!从你的代码可能应该是:$image_url=$url[62];$image[$post_id][62]怎么样?如果您可以共享XML文件中的一些示例数据,这将非常有用。仅使用原始数据更容易测试确切情况。