以下のコードでは、私はvar_export
を使用してインポートする情報を文書化していますが、電子メールはforeachループ外の変数$values
内のオブジェクトを1つだけ表示しています。foreach外に表示される配列結果は
私は期待した結果を得るためにはどうすればいいですか?
ポール:
$values = [];
foreach ($guests as $k => $guest)
{
$values[$k] = array(
'FirstName' => $guest['FirstName'],
'LastName' => $guest['LastName'],
'Email' => $guest['email'],
'Country' => $guest['country'],
'_CheckIn' => $guest['check-in_date'],
'_CheckOut' => $guest['check-out_date'],
);
Eメールの結果:Eメールの結果期待
array (
'FirstName' => 'Test 1',
'LastName' => 'Test 2',
'Email' => '',
'Country' => 'New Zealand',
'_CheckIn' => '2017-04-25',
'_CheckOut' => '2017-04-27',
)
- $values
var_dump
array (
'FirstName' => 'Test 1',
'LastName' => 'Test 2',
'Email' => '',
'Country' => 'New Zealand',
'_CheckIn' => '2017-04-25',
'_CheckOut' => '2017-04-27',
)
array (
'FirstName' => 'Test 1',
'LastName' => 'Test 2',
'Email' => '',
'Country' => 'New Zealand',
'_CheckIn' => '2017-04-25',
'_CheckOut' => '2017-04-27',
)
array (
'FirstName' => 'Test 1',
'LastName' => 'Test 2',
'Email' => '',
'Country' => 'New Zealand',
'_CheckIn' => '2017-04-25',
'_CheckOut' => '2017-04-27',
)
あたりとして コード:
$values = [];
foreach ($guests as $guest)
{
$values = array(
'FirstName' => $guest['FirstName'],
'LastName' => $guest['LastName'],
'Email' => $guest['email'],
'Country' => $guest['country'],
'_CheckIn' => $guest['check-in_date'],
'_CheckOut' => $guest['check-out_date'],
);
//inserting guestst to Contact table
$optInEmail = $values['Email'];
$optInReason = 'Purchased Accommodation';
$tagID = '566'; //
$contactID = $infusionsoft->contacts()->addWithDupCheck($values,'Email');
$infusionsoft->contacts()->addToGroup($contactID, $tagID);
$infusionsoft->emails()->optIn($optInEmail, $optInReason);
echo '<pre>';
var_dump($values);
echo "</pre>";
}
if(empty($values))
{
echo '<h1>No new Data</h1>';
}else{
$from = "API";
$to = "";
$subject = "API Import"." ".date("h:i:sa")." ".date("d-m-Y");
$message = var_export($values, true);
$headers = "From:" . $from;
if(mail($to,$subject,$message, $headers))
{
echo '<h1>E-mail Sent Data Imported</h1>';
}else{
echo "What Broke Boss";
}
ありがとうございますが、それでも私に単一の結果を与えています –
これは、あなたが$ values配列を上書きしているためです。 編集するforeach: 'foreachの($ $ K => $のゲストとしてゲスト) 次に'、$の値で: '$値[$ K] =配列(...)' これがすべき作業。 –
正解私はちょうどクリックできません/それを修正する方法を考える上に –