0

なぜこれが機能しないのですか?

$emails = $_POST["emails"];
$emails = "'" . implode("','", explode(' ', $emails)) . "' ";
// The result is emails like this: 'foo@bar.com','foo@bar.com'

$to = array($emails);

$emails変数を配列に入れるにはどうすればよいですか?(私が確信しているようにPHPを学ぶことは明らかです)

4

3 に答える 3

5

つまり、$ _ POST ['emails']は、配列に入れたいスペース区切りのリストのように聞こえますか?

これを行うだけです:

$email_array = explode(' ', $_POST['emails']);

もちろん、この時点に到達する前に、入力の検証を行うことをお勧めします。

于 2012-09-04T21:01:49.577 に答える
1

$to値が文字列である1つのインデックスを持つ配列に設定しています'foo@bar.com','foo@bar.com'

一連のメールが必要な場合は、implode

$emails = explode(' ', $emails); // an array

ここでコードを使って何を達成しようとしているのかわかりませんが、文字列から配列、文字列、配列へと進んでいます。

于 2012-09-04T21:02:48.017 に答える
1

PHP関数explodeは、分離された値の配列を返します。

メールがすでにスペースで区切られている場合は、内$_POST['emails']破する必要はありません。

これは役に立ちます:

$emails = $_POST["emails"];
$to = explode(' ', $emails);
于 2012-09-04T21:04:43.883 に答える