首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从多维数组中“提取”值

如何从多维数组中“提取”值
EN

Stack Overflow用户
提问于 2013-02-04 18:02:12
回答 2查看 700关注 0票数 0

我无法弄清楚如何从这个数组中获得我需要的值:我需要的3辆车的值是。

  1. 类=> span3 scrape_img
  2. 类=>价格scrape_price价格
  3. 类=> scrape_make the make
  4. 级=> scrape_year年度

我试图通过PHP数组文档来解决这个问题,但没有成功。

代码语言:javascript
复制
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
                                )
                        )
                )
        )
)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-04 19:44:40

看起来你可以从评论和另一个答案中找出答案。不过,我想澄清一点,就是我对这个问题的评论有点误导,所以你可以不理会。实际上,我假设class是指class对象,而实际上class只是字符串的一个键(在我看来,这个数组就像一些解析过的HTML/XML)。当您在注释中发布数组的var_dump()时,我意识到了这一点。

问题是数组结构相当复杂,所有嵌套都在进行,所以很难看到什么是什么。总的来说,我同意另一个答案;用var_dump()进行调试是一种很好的检查方法。这是我对答案的看法。

假设数组变量是$array

1.

代码语言:javascript
复制
$array['query']['results']['div'][0]['span']['a']['href']
$array['query']['results']['div'][0]['span']['a']['img']['src']

2.

代码语言:javascript
复制
$array['query']['results']['div'][1]['span']['p']

3.

代码语言:javascript
复制
$array['query']['results']['span'][0]['content']

4.

代码语言:javascript
复制
$array['query']['results']['span'][1]['content']
票数 1
EN

Stack Overflow用户

发布于 2013-02-04 18:14:48

尝试如下:如果该数组位于名为$array的变量中

1-$array['query']['result']['div'][0]['a']['href']

2-$array['query']['result']['div'][1]['p']

3-$array['query']['result']['span'][0]['class']

要调试并找到所需的值,请尝试这样做,

代码语言:javascript
复制
var_dump($array['query']);

然后

代码语言:javascript
复制
var_dump($array['query']['result']);

...etc

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14692651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档