Php 如何";摘录;多维数组中的值
我无法确定如何从该数组中获取所需的值:::我需要的3辆车的值为Php 如何";摘录;多维数组中的值,php,multidimensional-array,Php,Multidimensional Array,我无法确定如何从该数组中获取所需的值:::我需要的3辆车的值为 [class]=>span3 scrape\u img图像Href&image src [class]=>价格刮擦价格价格 [class]=>刮取品牌品牌 [class]=>刮擦年度年度 我试着通过经历来解决这个问题,但没有多大成功 Array ( [query] => Array ( [count] => 12 [created] => 20
Array
(
[query] => Array
(
[count] => 12
[created] => 2013-02-04T17:46:34Z
[lang] => en-US
[results] => Array
(
[div] => Array
(
[0] => Array
(
[class] => span3 scrape_img
[span] => Array
(
[class] => scrape
[a] => Array
(
[href] => http://cant-reveal-this.com/cars/hyundai/ix35-2-0gls-auto/
[img] => Array
(
[alt] => Featured Image
[src] => /wp-content/uploads/2013/02/01863-270x150.jpg
)
)
)
)
[1] => Array
(
[class] => price scrape_price
[p] => From R249,900
)
[2] => Array
(
[class] => span3 scrape_img
[span] => Array
(
[class] => scrape
[a] => Array
(
[href] => http://cant-reveal-this.com/cars/hyundai/ix35-2-0gls/
[img] => Array
(
[alt] => Featured Image
[src] => /wp-content/uploads/2013/02/1930-270x150.jpg
)
)
)
)
[3] => Array
(
[class] => price scrape_price
[p] => From R239,900
)
[4] => Array
(
[class] => span3 scrape_img
[span] => Array
(
[class] => scrape
[a] => Array
(
[href] => http://cant-reveal-this.com/cars/ford/everest-3-0-tdci-xlt-4/
[img] => Array
(
[alt] => Featured Image
[src] => /wp-content/uploads/2013/02/1876-270x150.jpg
)
)
)
)
[5] => Array
(
[class] => price scrape_price
[p] => From R279,900
)
)
[span] => Array
(
[0] => Array
(
[class] => scrape_make
[strong] => Make
[content] => hyundai
)
[1] => Array
(
[class] => scrape_year
[strong] => Year
[content] => 2011
)
[2] => Array
(
[class] => scrape_make
[strong] => Make
[content] => hyundai
)
[3] => Array
(
[class] => scrape_year
[strong] => Year
[content] => 2011
)
[4] => Array
(
[class] => scrape_make
[strong] => Make
[content] => ford
)
[5] => Array
(
[class] => scrape_year
[strong] => Year
[content] => 2011
)
)
)
)
)
试试这个:
如果此数组位于名为$array
1-$array['query']['result']['div'][0]['a']['href']
2-$array['query']['result']['div'][1]['p']
3-$array['query']['result']['span'][0]['class']
要调试并找到所需的值,请尝试这样做
var_dump($array['query']);
然后
…etc看起来您可以从评论和其他答案中找到答案。不过,我要澄清,我对这个问题的评论有点误导性,因此你可以不予理会。我实际上假设
class
引用了PHP对象,而实际上class
只是字符串的一个键(数组在我看来就像解析的HTML/XML)。当您在注释中发布数组的var\u dump()
时,我意识到了这一点
问题是阵列结构相当复杂,所有嵌套都在进行,因此可能很难看到是什么。总的来说,我同意另一个答案;使用var\u dump()
进行调试是一种很好的检查方法。以下是我对答案的看法
假设数组变量为$array
:
一,
二,
三,
四,
类元素的访问方式不同于数组元素(使用
->
而不是[]
)@Walfie您能详细说明一下吗?您能试试这个并告诉我它是否返回了什么吗$array['query']['results']['div'][0]->span[0]->a['href']
@Walfie我得到这个错误>>>致命错误:无法在中使用字符串偏移量作为数组:::不确定我是否做对了这就是我创建$array变量$array='array([query]=>array([count]=>12…)'你的意思是你文章中的数组不是你代码中某个变量的print\r()
的结果吗?你首先是如何得到数组列表的?@khane I得到以下错误>>>致命错误:无法将字符串偏移量用作array@khane如果我添加了eg.['a'],当我使用$array['query']['result']['div'][0]时,请参见上面的注释我有错误。我知道,我给出的答案是不正确的,但是,试着遵循调试方法,我个人通常使用此调试方法来查找值。因为此数组中有object和array元素,有时会使用“->”表示object和['namekey']对于array.THX和@whalfie,我可以用您的建议来解决它,对于您的反馈,您演示的方式是我如何获得我的所有值。
var_dump($array['query']['result']);
$array['query']['results']['div'][0]['span']['a']['href']
$array['query']['results']['div'][0]['span']['a']['img']['src']
$array['query']['results']['div'][1]['span']['p']
$array['query']['results']['span'][0]['content']
$array['query']['results']['span'][1]['content']