PHP数组的数组的数组
我试图按['field']的值搜索此数组,然后返回与数组中该字段关联的['value']的值 例如,我想说“告诉我与第三个字段关联的值” 我已经尝试了很多类似以下的排列: $myVariable=$Array['result']['totalrows'][0]['rownum'][0]['field'] 为了进一步澄清,我永远不知道我的搜索字段位于哪个顺序/子数组中,我只知道与['field']关联的字符串值 我将如何做到这一点PHP数组的数组的数组,php,arrays,Php,Arrays,我试图按['field']的值搜索此数组,然后返回与数组中该字段关联的['value']的值 例如,我想说“告诉我与第三个字段关联的值” 我已经尝试了很多类似以下的排列: $myVariable=$Array['result']['totalrows'][0]['rownum'][0]['field'] 为了进一步澄清,我永远不知道我的搜索字段位于哪个顺序/子数组中,我只知道与['field']关联的字符串值 我将如何做到这一点 Array ( [result] => Array
Array
(
[result] => Array
(
[totalrows] => 1
[rows] => Array
(
[0] => Array
(
[rownum] => 1
[values] => Array
(
[0] => Array
(
[field] => testMeOnce
[value] => 436586498
)
[1] => Array
(
[field] => testMeTwice
[value] => 327698034
)
[2] => Array
(
[field] => theThirdField
[value] => 108760374
)
[3] => Array
(
[field] => theFourthField
[value] => 2458505
)
[4] => Array
(
[field] => fifthField
[value] => -0.0201
)
)
)
)
)
)
你期待这样的事情吗
$needle = 'theThirdField'; // searched field name
$valuesArray = $Array['result']['rows'][0]['values']; //now you have clearer array
array_walk($valuesArray, function($element, $key) use ($needle) {
if ($element['field'] == $needle) {
echo $element['value'];
}
});
你期待这样的事情吗
$needle = 'theThirdField'; // searched field name
$valuesArray = $Array['result']['rows'][0]['values']; //now you have clearer array
array_walk($valuesArray, function($element, $key) use ($needle) {
if ($element['field'] == $needle) {
echo $element['value'];
}
});
我会这样做,假设您只想在$myVariable维度中搜索:
$myVariable = $Array['result']['rows'][0]['values'];
foreach ($myVariable as $key => $value) {
if( $value['field'] === 'theThirdField' ) {
echo $value['value'];
break;
}
}
我会这样做,假设您只想在$myVariable维度中搜索:
$myVariable = $Array['result']['rows'][0]['values'];
foreach ($myVariable as $key => $value) {
if( $value['field'] === 'theThirdField' ) {
echo $value['value'];
break;
}
}
当我运行你的代码时,我发现了一些语法错误。我已将您的数组更改为(仅更改了语法): 现在您可以得到如下值:
print($a['result']['rows'][0]['values'][2]['value']); // --> 108760374
我希望这就是你要找的 当我运行您的代码时,出现了一些语法错误。我已将您的数组更改为(仅更改了语法): 现在您可以得到如下值:
print($a['result']['rows'][0]['values'][2]['value']); // --> 108760374
我希望这就是你要找的 谢谢大家。我综合运用了你的建议,最后做了以下几点:
$valuesArray = $Array['result']['rows'][0]['values'];
foreach ($valuesArray as $value) {
$fieldName = $value['field'];
$$fieldName = $value['value'];
}
因为我知道我想要的所有字段的名称,但不知道顺序,所以这允许我捕获每个字段的所有值,并将字段的名称变为变量名。谢谢大家。我综合运用了你的建议,最后做了以下几点:
$valuesArray = $Array['result']['rows'][0]['values'];
foreach ($valuesArray as $value) {
$fieldName = $value['field'];
$$fieldName = $value['value'];
}
因为我知道我想要的所有字段的名称,但不知道顺序,所以我可以捕获每个字段的所有值,字段的名称将成为变量名。尝试这样做时是否有错误?尝试这样做时是否有错误?