PHP 从单个 stdClass 对象数组中的关联数组获取/检查值
PHP Get / check value from associative array in array of individual stdClass Objects
对此有实际问题。我希望能够从通过 API.
返回的数据中获取一个值
即通过
获得价值
$CM_user_customfields['Organisation'],
$CM_user_customfields->Organisation.
这可能吗?我已经尝试过循环和重建数组,但我总是得到类似的结果,也许我想多了。
我不能使用 [int] => 因为自定义字段的数量会发生很大变化。
$CM_user_customfields = $CM_details->response->CustomFields ;
echo '<pre>' . print_r( $CM_user_customfields, true ) . '</pre>';
// returns
Array
(
[0] => stdClass Object
(
[Key] => Job Title
[Value] => Designer / developer
)
[1] => stdClass Object
(
[Key] => Organisation
[Value] => Jynk
)
[2] => stdClass Object
(
[Key] => liasoncontact
[Value] => Yes
)
[3] => stdClass Object
...
非常感谢,D.
我建议首先转换为关联数组:
foreach($CM_user_customfields as $e) {
$arr[$e->Key] = $e->Value;
}
现在您可以通过以下方式访问它:
echo $arr['Organisation'];
您也可以通过以下方式实现它:(PHP 7 可以转换 stdClass 并且可以做到这一点)
$arr = array_combine(array_column($CM_user_customfields, "Key"), array_column($CM_user_customfields, "Value")));
对此有实际问题。我希望能够从通过 API.
返回的数据中获取一个值即通过
获得价值$CM_user_customfields['Organisation'],
$CM_user_customfields->Organisation.
这可能吗?我已经尝试过循环和重建数组,但我总是得到类似的结果,也许我想多了。
我不能使用 [int] => 因为自定义字段的数量会发生很大变化。
$CM_user_customfields = $CM_details->response->CustomFields ;
echo '<pre>' . print_r( $CM_user_customfields, true ) . '</pre>';
// returns
Array
(
[0] => stdClass Object
(
[Key] => Job Title
[Value] => Designer / developer
)
[1] => stdClass Object
(
[Key] => Organisation
[Value] => Jynk
)
[2] => stdClass Object
(
[Key] => liasoncontact
[Value] => Yes
)
[3] => stdClass Object
...
非常感谢,D.
我建议首先转换为关联数组:
foreach($CM_user_customfields as $e) {
$arr[$e->Key] = $e->Value;
}
现在您可以通过以下方式访问它:
echo $arr['Organisation'];
您也可以通过以下方式实现它:(PHP 7 可以转换 stdClass 并且可以做到这一点)
$arr = array_combine(array_column($CM_user_customfields, "Key"), array_column($CM_user_customfields, "Value")));