PHP Получить / проверить значение из ассоциативного массива в массиве отдельных объектов stdClass - PullRequest
0 голосов
/ 07 марта 2019

Реальные проблемы с этим. Я хочу иметь возможность получить значение из этих данных, которое возвращается через API.

т.е. получить значение по

$CM_user_customfields['Organisation'],   
$CM_user_customfields->Organisation.

это вообще возможно? Я пробовал циклы и перестраивать массив, но всегда получаю схожие результаты и, возможно, думаю об этом.

Я не могу использовать [int] =>, поскольку количество настраиваемых полей будет сильно меняться.

<code>$CM_user_customfields =  $CM_details->response->CustomFields ;
echo '<pre>' . print_r( $CM_user_customfields, true ) . '
'; // возвращает массив ( [0] => stdClass Object ( [Key] => Должность [Value] => Дизайнер / разработчик ) [1] => stdClass Object ( [Key] => Организация [Value] => Джинк ) [2] => stdClass Object ( [Key] => liasoncontact [Значение] => Да ) [3] => stdClass Object ...

большое спасибо, Д.

1 Ответ

3 голосов
/ 07 марта 2019

Я рекомендую сначала преобразовать в ассоциативный массив:

foreach($CM_user_customfields as $e) {
    $arr[$e->Key] = $e->Value;
}

Теперь вы можете получить к нему доступ:

echo $arr['Organisation'];

Вы также можете достичь этого с помощью:сделает свое дело)

$arr = array_combine(array_column($CM_user_customfields, "Key"), array_column($CM_user_customfields, "Value")));
...