веб-сервисы Amazon — ошибка при доступе к многомерному ассоциативному массиву в PHP (AWS / ResulData)

Я пытался реализовать распознавание знаменитостей через AWS Rekognition с использованием PHP. Я смог получить ResultData с помощью,

$result = $client->recognizeCelebrities();

И я преобразовал результат $ в массив, используя,

$postResult = (array) $result;

Я попытался напечатать массив $ postResult, используя

echo '<pre>';
print_r($postResult);
echo '</pre>';

и он напечатал что-то похожее на,

Array
(
[Aws\Resultdata] => Array
(
[CelebrityFaces] => Array
(
[0] => Array
(
[Name] => Emily Blunt
)
)
)
)

Я хотел напечатать только значение «Имя». Итак, я использовал,

echo $postResult['Aws\Resultdata']['CelebrityFaces'][0]['Name'];

Но это выдает ошибку как, Неопределенный индекс: Aws \ Resultdata

Я также попытался использовать цикл foreach, но это приводит к той же ошибке

foreach ($postResult as $array) {
echo $array['Name'];
}

Вот вывод для $ результата,

Aws\Result Object
(
[data:Aws\Result:private] => Array
(
[CelebrityFaces] => Array
(
[0] => Array
(
[Name] => Emily Blunt
)
)
)
)

Я только начал использовать PHP несколько дней назад, поэтому я только начинающий. А также я пытался найти конкретный ответ, но он всегда выдавал одну и ту же ошибку.

Любая помощь будет оценена!

1

Решение

$result является объектом класса Aws\Result, В соответствии с эта документация должно работать следующее:

$celebFaces = $result->get('CelebrityFaces');
foreach($celebFaces as $face) {
echo $face['Name'];
}
0

Другие решения

Других решений пока нет …