我想编写一个函数来搜索多维数组中的值并返回祖父项的键。请参阅下面的数组层次结构。
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]。
提前感谢您为我开始提供的任何帮助。
答案 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;
}
}