如何在PHP中处理Amazon SES响应



我使用以下内容来获取SES中创建的模板列表:

$SesClient = new AwsSesSesClient([
'profile' => 'default',
'version' => '2010-12-01',
'region' => 'us-east-2'
]);
try {
$result = $SesClient->listTemplates([
'MaxItems' => 10,
]);
echo '<pre>';
var_dump($result );
echo '</pre>';
} catch (AwsException $e) {
// output error message if fails
echo $e->getMessage();
echo "n";
}

来自var_dump$result的输出如下:

object(AwsResult)#165 (2) {
["data":"AwsResult":private]=>
array(2) {
["TemplatesMetadata"]=>
array(2) {
[0]=>
array(2) {
["Name"]=>
string(10) "MyTemplate"
["CreatedTimestamp"]=>
object(AwsApiDateTimeResult)#179 (3) {
["date"]=>
string(26) "2022-11-27 03:44:26.567000"
["timezone_type"]=>
int(2)
["timezone"]=>
string(1) "Z"
}
}
[1]=>
array(2) {
["Name"]=>
string(17) "confirmarCadastro"
["CreatedTimestamp"]=>
object(AwsApiDateTimeResult)#180 (3) {
["date"]=>
string(26) "2022-11-05 08:10:26.979000"
["timezone_type"]=>
int(2)
["timezone"]=>
string(1) "Z"
}
}
}
["@metadata"]=>
array(4) {
["statusCode"]=>
int(200)
["effectiveUri"]=>
string(37) "https://email.sa-east-1.amazonaws.com"
["headers"]=>
array(5) {
["date"]=>
string(29) "Sun, 27 Nov 2022 23:53:59 GMT"
["content-type"]=>
string(8) "text/xml"
["content-length"]=>
string(3) "576"
["connection"]=>
string(10) "keep-alive"
["x-amzn-requestid"]=>
string(36) "26bf55b1-768e-44c1-b250-e6ff61de94df"
}
["transferStats"]=>
array(1) {
["http"]=>
array(1) {
[0]=>
array(0) {
}
}
}
}
}
["monitoringEvents":"AwsResult":private]=>
array(0) {
}
}

如何在php中处理这些数据并正确生成循环?

我尝试了以下方法:

foreach ($result as $key=>$value) {
echo $value[$key]['Name'], "n<br><br>";
}
OR
foreach ($result as $value) {
echo $value->Name, "n<br><br>";
}

代码根本不起作用,正确的方法是什么?

我只需要检索Name的值,其他的都是不必要的。

根据这里给出的结果语法,你需要这样做-

foreach ($result["TemplatesMetadata"] as $key=>$value) {
echo $key, $value['Name'], "n<br><br>";
}

foreach ($result["TemplatesMetadata"] as $value) {
echo $value['Name'], "n<br><br>";
}

最新更新