iT邦幫忙

0

PHP Foreach迴圈 問題(已解決)

  • 分享至 

  • xImage

最近在學習PHP的寄送信件的程式

以下這一小段是程式碼

while($row_result=$sql_result->fetch_assoc()){
  // ------------json轉換-------------
  $json = $row_result["student_result"];
  $arr = json_decode($json,true);

  $student_result = "<br>";
  foreach($arr as $key => $value){
    $student_result = $key.":".$value;
  }

  $mail = new PHPMailer\PHPMailer\PHPMailer();         //建立新物件
  $mail->IsSMTP();                                    //設定使用SMTP方式寄信

  $mail->CharSet="UTF-8";//郵件編碼
  $mail->Host = "smtp.gmail.com";//Gamil的SMTP主機
  // $mail->SMTPDebug = 1;
  $mail->Port = 465 ; //465 or 587 Gamil的SMTP主機的埠號(Gmail為465)。

  $mail->SMTPSecure = 'ssl'; // Gmail的SMTP主機需要使用SSL連線
  $mail->SMTPAuth = true;//設定SMTP需要驗證
  $mail->IsHTML(true);

  $mail->Username = "XXXXXXXXXXXXXX"; //Gamil帳號
  $mail->Password = "XXXXXXXXXXXX";     //Gmail密碼
  $mail->From = "XXXXXXXXXXXXXXXXXXXXX";   //寄件者信箱
  $mail->FromName = "ABC";  //寄件者姓名
  $mail->Subject = $report_Apply_time . "_". $mail_subject ; //郵件標題
  $mail->Body =  "成績寄送日期:" . $report_Apply_time.//郵件內容
                 "<br/>內容:" .$mail_text.
                 "<br/><br/>成績:".$student_result.
                 "<br/><br/>============================================================".
                 "<br/>「請注意:此郵件為系統傳送,請勿直接回覆!」".
                 "<br/>謝謝!";

  $mail->IsHTML(true);    //郵件內容為html
  $title = $report_Apply_time . $mail_subject . $student_name;
  $mail->AddAddress($row_result["student_mail"], $title);  //收件者郵件及名稱
  if(!$mail->Send()){
      echo "Error: " . $mail->ErrorInfo;
    }
}

我的問題是,下面這段程式中裡面的$arr有兩個值,但echo$student_result出來或是寄出信件的時候都只有最後一個值,第一個值會被覆蓋掉,請問要如何讓foreach裡的所有值顯示出來?

  foreach($arr as $key => $value){
    $student_result = $key.":".$value;
  }
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
Season
iT邦研究生 4 級 ‧ 2022-06-15 09:00:21
$student_result .= $key.":".$value. "___";

可參考
https://www.php.net/manual/zh/language.operators.string.php

我要發表回答

立即登入回答