PHP搜索多维数组的祖父母的值和返回键

时间:2013-03-09 19:18:35

标签: php

我想编写一个函数来搜索多维数组中的值并返回祖父项的键。请参阅下面的数组层次结构。

Array
(
[results] => Array
    (
        [quote] => Array
            (
                [0] => Array
                    (
                        [@attributes] => Array
                            (
                                [symbol] => VFORX
                            )
                        [LastTradePriceOnly] => 24.79
                    )
                [1] => Array
                    (
                        [@attributes] => Array
                            (
                                [symbol] => VGSTX
                            )
                        [LastTradePriceOnly] => 21.77
                    )
                [2] => Array
                    (
                        [@attributes] => Array
                            (
                                [symbol] => HPQ
                            )
                        [LastTradePriceOnly] => 21.00
                    )
            )
    )
)

例如,我想在'symbol'键中搜索值'HPQ'并返回LastTradePriceOnly值21.00或祖父母的键是[2]。

提前感谢您为我开始提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

Hast的答案是解决方案,但要添加,您可以使用foreach语句中数组的键来获取'祖父母'。欢呼声。

<?php

$array = array(); // this is your array
$value = 'HPQ';
$result = null;
$grandparent = null;

foreach($array['results']['quote'] as $quote_index => $quote) {
    if ($quote['@attributes']['symbol'] == $value) {
        $result = $quote['LastTradePriceOnly'];
        $grandparent = $quote_index;
    }
}