Я пытался реализовать распознавание знаменитостей через 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 несколько дней назад, поэтому я только начинающий. А также я пытался найти конкретный ответ, но он всегда выдавал одну и ту же ошибку.
Любая помощь будет оценена!
$result
является объектом класса Aws\Result
, В соответствии с эта документация должно работать следующее:
$celebFaces = $result->get('CelebrityFaces');
foreach($celebFaces as $face) {
echo $face['Name'];
}
Других решений пока нет …