我一直在尝试使用PHP通过AWS Rekognition实现名人识别。我能够使用来获取ResultData,
$result = $client->recognizeCelebrities();
然后我将$ result转换为一个数组,
$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'];
}
这是$ result的输出,
Aws\Result Object
(
[data:Aws\Result:private] => Array
(
[CelebrityFaces] => Array
(
[0] => Array
(
[Name] => Emily Blunt
)
)
)
)
几天前我才刚开始使用PHP,所以我只是一个初学者。而且,我尝试搜索特定的答案,但始终抛出相同的错误。
任何帮助将不胜感激!
答案 0 :(得分:0)
$result
是类Aws\Result
的对象。根据{{3}},以下方法应该起作用:
$celebFaces = $result->get('CelebrityFaces');
foreach($celebFaces as $face) {
echo $face['Name'];
}