-2

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

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]。

在此先感谢您在帮助我入门时提供的任何帮助。

4

1 回答 1

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;
    }
}
于 2013-03-09T19:39:30.093 回答