我终于与Gmail API in PHP破土动工,但我无法从标题中获取发件人,主题和时间
我有一个看起来像这样但仍在继续的数组:
Array
(
[0] => Google_Service_Gmail_MessagePartHeader Object
(
[name] => Subject
[value] => My Subject
[modelData:protected] => Array
(
)
[processed:protected] => Array
(
)
)
[1] => Google_Service_Gmail_MessagePartHeader Object
(
[name] => From
[value] => John Doe
[modelData:protected] => Array
(
)
[processed:protected] => Array
(
)
)
简而言之,我只需要一种搜索数组的方法['name'] => 'Date'
,然后我需要在变量中存储['value']
键中的内容,以便稍后回复它。我应该使用array_search这样的东西,还是有更好的方法?
答案 0 :(得分:0)
如果您不关心标题顺序(99%的客户赢了),您可以将其转换为: 名称的地图/字典的名称,价值列表=>列表与LT;值取代。对于你关心的大多数标题,列表中只有一个值,但这会使得/ subject / to header变得微不足道。
在python中它将是:
headers = {} for header in header_list: if header['name'] not in headers: headers['name'] = [] headers['name'].append(header['value'])
答案 1 :(得分:0)
最简单的方法是遍历数组并检查name
属性值:
$date_value = '';
foreach ($headers as $header) {
if ('Date' == $header->name) {
$date_value = $header->value;
break;
}
}
var_dump($date_value);
此处$headers
是您的数组。
答案 2 :(得分:0)
// Grab only those elements of the array where the items ["name"] key is Date
$b=array_filter($array,function($x){if ($x["name"]=="Date") return true; else return false;});
// Now $b is an array containing all elements of $a that are dates
// Then, echo each one of $b's "value"
array_walk($b,function($k,$v){echo $b[$k]["value"];});