所以我试图将来自两个独立API的feed合并为一个,但首先我需要确保feed包含相同的键,以便我可以将两者合并在一起。在每个循环中,我存储了我希望为每个数组保留的值,但是,我希望每个值都有一个唯一的键而不是经典的[0],[1],[2]等。编号系统。如何获得$ value3为其拥有的每个值都有一个唯一的字符串键?
$googleArray = array();
foreach ($myEvents as $key => $value) {
foreach ($value as $key2 => $value2) {
// Remove unnecessary keys from google API arrays
unset($value2[method], $value2[kind], $value2[status], $value2[htmlLink], $value2[created], $value2[updated], $value2[colorId], $value2[creator],$value2[organizer],$value2[iCalUID],$value2[sequence],$value2[reminders], $value2[etag],$value2[id],$value2[minutes]);
//Make new keys for googleArray in order to store each list to its designated event
$googleArray[$key2] = $value2;
// foreach ($value2 as $key3[summary] => $value3) {
// Store desired values in new array
// $googleArray[] = $value3;
// }
}
}
基本上,我正试图
$key2["summary"] = $key2["DESC1"];
成为密钥DESC1的摘要密钥
答案 0 :(得分:0)
如果我正确理解了这个问题(从提供的信息开发有点困难),我认为您只需要声明一个数组,将原始$key2
值映射到您希望它具有的新名称在$googleArray
中,然后在该映射中执行查找以在插入时获取所需的键名。如,
$mapping = ['DESC1' => 'summary', 'DESC2' => 'foo'];
foreach(...) {
foreach(...) {
...
$googleArray[$mapping[$key2]] = $value2;
}
}
答案 1 :(得分:0)
$googleArray = array();
foreach($myEvents as $key=>$value){
if ( in_array($value['googleArray'], $googleArray) ) {
continue;
}
$googleArray[] = $value['googleArray'];
echo $value['googleArray'];
}