首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数组转换为用于在PHPMailer中发送的变量

将数组转换为用于在PHPMailer中发送的变量
EN

Stack Overflow用户
提问于 2018-01-15 10:35:00
回答 1查看 51关注 0票数 0

我正在尝试将一个包含另一个数组的数组从SQL select转换为唯一变量,以便通过PHPMailer发送给用户。我尝试将该数组放在PHPMailer的变量上,所以不起作用,这就是为什么我尝试这种看起来有点困难的方法

代码语言:javascript
复制
public static function getUsersByEmail($email) {
    $sql = DB::prepare(
        "SELECT username FROM users WHERE email=:email ORDER BY id LIMIT 10"
    );
    $sql->bindParam('email', $email);
    $sql->execute();
    $accounts = $sql->fetchAll(PDO::FETCH_ASSOC);
    return $accounts; // its array
}

public function recoverUsername($email) {
    if (User::emailHasAccounts($email) == true) {    
        $accounts = [User::getUsersByEmail($email)];               
        $str = implode(",", $accounts); // imploding array   

        $mail = new Mail([
            'email' => $email,
            'subject' => SITENAME,
            'template' => 'accountslist',
            'variables' => json_encode([
                'email' => $email, 
                'accountList' => $str, 
                'date' => date('d/m/y h:i')
            ]),
            'time' => time(),
            'next_attemp' => time(),
            'attemps' => 0,
            'status' => 0
        ]);

        // $mail->dbInsert();
        return true;
    } else {
        echo "erro";
        return false;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-01-15 11:19:12

解决方案(适用于PHP 5.5 <)

代码语言:javascript
复制
$accounts = getAccounts();
$rr = array_column($accounts, 'username');
$array = implode(',', $accounts);

$getaccounts = array_map(function ($accounts) {
    return $accounts['username'];
}, $accounts);

$var = implode('<br>', $getaccounts);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48256265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档