0

テキストエリアの値を取得し、それに基づいてjsonオブジェクトを作成しようとしています。

textareaは次のようになります。

<textarea name="msisdn" wrap="physical">
51971855080
51971855081
51971855082
</textarea>

動的な部分は「messId」と「destAddr」であり、他の部分は次のようなフォームから受け取ったphp変数に置き換えられます。

$str_obj_json='{
"method":"SUBMIT","params":{
"batchType":"submit",
"batchId":"'.$batch.'",
"origAddr":"550",
"origTon":2,
"userData":"'.$sms.'",
"submits":
  [
   {
   "messId":"mess127_009",
   "destAddr":"51971855080"},
   {
   "messId":"mess127_010",
   "destAddr":"51971855081"},
   {
   "messId":"mess127_011",
   "destAddr":"51971855082"},
  ]
}
}';

このパーツを動的に作成する方法は?:

  "submits":
  [
   {
   "messId":"mess127_009",
   "destAddr":"51971855080"},
   {
   "messId":"mess127_010",
   "destAddr":"51971855081"},
   {
   "messId":"mess127_011",
   "destAddr":"51971855082"},
  ]
4

1 に答える 1

0

使用json_encode():

$submits = array();

for (...) {
    $submits[] = array('messId' => ..., 'destAddr' => ...);
}

$jsonString = json_encode(array('submits' => $submits);

PHP 配列を JSON 表記に変換します。したがって、必要に応じて配列を動的に作成し、後でエンコードすることができます。

からの値の使用については、対応するデータを次のように行にtextarea分割するだけです$_POSTsplit("\n", $_POST['msisdn'])

于 2013-01-18T23:35:00.637 に答える