首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组的数组的PHP数组

数组的数组的PHP数组
EN

Stack Overflow用户
提问于 2017-05-10 04:52:50
回答 4查看 42关注 0票数 0

我尝试通过' field‘的值搜索这个数组,然后返回数组中与该字段相关联的' value’的值。

例如,我想说“告诉我与theThirdField相关的值”。

我已经尝试了很多很多类似下面这样的排列:$myVariable =$Array‘’result‘;

为了进一步澄清,我永远不会知道我的搜索字段位于哪个顺序/子数组中,我只知道与' field‘相关的字符串值。

我该如何做到这一点呢?

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

                                )

                        )

                )

        )

)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-10 05:11:47

你有没有料到会发生这样的事情?

代码语言:javascript
复制
$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'];
    }
});
票数 1
EN

Stack Overflow用户

发布于 2017-05-10 05:28:32

假设您只想在$myVariable维度中搜索,我会这样做:

代码语言:javascript
复制
$myVariable = $Array['result']['rows'][0]['values'];

foreach ($myVariable as $key => $value) {
    if( $value['field'] === 'theThirdField' ) { 
        echo $value['value']; 
        break;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2017-05-10 05:36:06

当我运行你的代码时,我得到了一些语法错误。我已经将您的数组改为这样(仅更改了语法):

代码语言:javascript
复制
$a = Array
    (
        'result' =>
            [
                'totalrows' => 1,
                'rows' =>
                    [
                        0 =>
                            [
                                'rownum' => 1,
                                'values' =>
                                    [
                                        0 => 
                                            [
                                                'field' => 'testMeOnce',
                                                'value' => 436586498
                                            ],

                                        1 => 
                                            [
                                                'field' => 'testMeTwice',
                                                'value' => 327698034
                                            ],

                                        2 => 
                                            [
                                                'field' => 'theThirdField',
                                                'value' => 108760374
                                            ],

                                        3 => 
                                            [
                                                'field' => 'theFourthField',
                                                'value' => 2458505
                                            ],

                                        4 => 
                                            [
                                                'field' => 'fifthField',
                                                'value' => -0.0201
                                            ]

                                    ]

                            ]

                    ]

            ]

    );

现在您可以获得如下所示的值:

代码语言:javascript
复制
print($a['result']['rows'][0]['values'][2]['value']); // --> 108760374

我希望这就是你正在寻找的!

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

https://stackoverflow.com/questions/43879656

复制
相关文章

相似问题

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