0

私はajaxphpを使用しています。問題が発生しています。

ajaxリクエストでJavaScriptリストを渡します

data: "user_names="+ user_names ; 

私はこのリストを次のようなPHPページで取得しています

$participants_names = $_GET['user_names'];

そして私はそのリストを次のように反復しようとしています

   for ($i = 0; $i <= $participants_names; $i++) {
      print $i;
   }

しかし、私は実際には結果を取得していません。私はpythonから来ており、これに初めて、phpで触れているので、plzは私が脱線している場所を助けてくれます。

4

5 に答える 5

1

$_GET['user_names']文字列です。explodeまたはsplitphp関数を使用して配列にすることができます。

user_names名前のコンマ区切りリストの場合:

$participants_names = explode( ',', $_GET['user_names']);
于 2012-08-07T13:43:57.160 に答える
1

リストをパラメータとして単純に渡すことはできないと思います。シリアル化する必要があります。ほとんどのブラウザでサポートされているJSONを使用することをお勧めします。

JSではこれをパラメータとして渡します

"user_names="+JSON.stringify(user_names);

PHPではこれを使用します

$participants_names = json_decode($_GET['user_names']);
于 2012-08-07T13:46:47.310 に答える
0

試してください(ユーザー名がセミコロンで区切られていると仮定します)

$arrayUsers = explode(";", $_GET['user_names']);  
foreach($arrayUsers as $user){
   echo $user;
}
于 2012-08-07T13:48:11.677 に答える
0

してください...

var_dump($participants_names);

...そしてそれが保持しているものを確認します。カンマ区切りのリストのようなものだと思いますか?

$list = explode(',', $participants_names); // Create an array named $list
for($i = 0; $i <= count($list); $i++) {
    echo $i;
}
于 2012-08-07T13:46:07.513 に答える
0
var usernames = ["A", "B", "C"]
data: "user_names="+ user_names.join(",") ; 
$participants_names = explode(",", $_GET['user_names']);
于 2012-08-07T13:46:43.913 に答える