Ich bevölkert ein Array aus einer While-Schleife, aber bin nicht in der Lage, das richtige Array-Format zu produzieren. Ich habe viele verschiedene Variationen getroffen, aber nicht das, wonach ich suche. Der Zweck ist, für 3rd-Party-SMTP, wie in den Variablen gesehen $to
Wie Array korrekt aus While-Schleife PHP
Wunsch Array:
array(3) {
["[email protected]"]=> array(1) { ["userid"]=> string(1) "6" }
["[email protected]"]=> array(1) { ["userid"]=> string(2) "64" }
["[email protected]"]=> array(1) { ["userid"]=> string(3) "503" }
}
Versuch 1:
$str = array();
while($userEmails = $query->fetch(PDO::FETCH_ASSOC)){
$str[] = '"'.$userEmails['user_email'].'" => array(
"userid" => "'.$userEmails['user_id'].'"
)';
}
$to = $str;
Versuch 1 Falsche Array:
array(3) {
[0]=> string(54) ""[email protected]" => array("userid" => "6")"
[1]=> string(54) ""[email protected]" => array("userid" => "64")"
[2]=> string(54) ""[email protected]" => array("userid" => "503")"
}
Versuch 2:
$str = "";
while($userEmails = $query->fetch(PDO::FETCH_ASSOC)){
$str .= '"'.$userEmails['user_email'].'" => array("userid" => "'.$userEmails['user_id'].'")';
}
$emails = rtrim($str, ", ");
$to = array($emails);
Versuch 2 Falsche Array:
array(1) {
[0]=> string(162) ""[email protected]" => array("userid" => "6")"[email protected]" => array("userid" => "64")"[email protected]" => array("userid" => "503")" }
imo, Es ist leichter zu verstehen, wenn Sie es als separate Schritte zunächst tun? 1) '$ userEmail = $ userEmails ['user_email'];' 2) '$ userId = $ userEmails ['user_id'];'. Es gibt so viele Möglichkeiten, dies von hier aus zu tun ... 3) (one way :) '$ str [] [$ userEmail] ['userid'] = $ userid;'. –