PHP / Guzzle目标父元素

时间:2018-04-27 20:24:39

标签: php arrays json guzzle

我有一个使用guzzle / php的应用程序向休息服务发出请求。

当它产生响应时,它包含嵌套数组和对象:

[exampleBalances] =>数组(
[0] => stdClass对象(
[balance] => 6
[name] =>奖一 [prizeCode] => 38
) [1] => stdClass对象(
[balance] => 5
[name] =>奖二 [prizeCode] => 20
) [2] => stdClass对象(
[balance] => 4
[name] =>四奖四 [prizeCode] => 39
) )

到目前为止,我一直在根据订单提取价值:

$ prizeThree = $ response-> exampleBalances ['3'] - > balance;

但是,如果客户为0,服务将不会显示任何“奖品”,因此如果添加了新项目,上述示例将不再准确:

[exampleBalances] =>数组(
[0] => stdClass对象(
[balance] => 6
[name] =>奖一 [prizeCode] => 38
) [1] => stdClass对象(
[balance] => 5
[name] =>奖二 [prizeCode] => 20
) [2] => stdClass对象(
[balance] => 8
[name] =>奖三 [prizeCode] => 54
) [3] => stdClass对象(
[balance] => 4
[name] =>四奖四 [prizeCode] => 39
) )

有没有办法定位正确的元素,而不使用它在响应中出现的顺序?

我找不到任何文件,但很难传达这个问题。我当时认为可能会创建一个检查元素内部值的条件(最好是'奖品代码')。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在PHP 5.5.0或更高版本中,您可以使用array_column()函数执行此搜索:

$index = array_search($prizeCodeSearch, array_column($exampleBalances, 'prizeCode'));
$element = $exampleBalances[$index];