0

$ _POSTが行う形式で文字列を配列するにはどうすればよいですか...ある種、この種の形式があります:

101=1&2020=2&303=3

(不思議に思うかもしれませんが、jQuery SortableSerializeの結果です...SQLステートメントを実行して、=記号の右側、等号の左側でフィールドを更新したいですか?SQLを知っていますこれですが、foreach($ VAR as $ key => $ value)を使用して、そこからSQLステートメントを作成できる形式にしたかったのです。101= 1がいくつあるかわからないので、

$ key=101および$value=1となるようにこれを分解したいだけです

紛らわしいですね;)上級者の皆さん、どうもありがとうございました!!

4

6 に答える 6

5

関数を参照してくださいparse_str

于 2009-10-30T18:53:25.050 に答える
3

これはPHPで最も直感的な関数名ではありませんが、探している関数はparse_str()です。次のように使用できます。

$myArray = array();
parse_str('101=1&2020=2&303=3', $myArray);
print_r($myArray);
于 2009-10-30T18:53:38.090 に答える
1

1つの迅速で汚い解決策:

<?php
$str = "101=1&2020=2&303=3";
$VAR = array();
foreach(explode('&', $str) AS $pair)
{
    list($key, $value) = each(explode('=', $pair));
    $VAR[$key] = $value;
}
?>
于 2009-10-30T18:52:42.587 に答える
1
parse_str($query_string, $array_to_hold_values);
于 2009-10-30T18:54:15.780 に答える
0

&で展開して、[101 = 1、2020 = 2、303 = 3]を含む配列を取得し、各要素について=で分割し、キーと値のペアを新しい配列にプッシュします。

于 2009-10-30T18:53:29.667 に答える
0
$input = "101=1&2020=2&303=3";
$output = array();
$exp = explode('&',$input);
foreach($exp as $e){
   $pair = explode("=",$e);
   $output[$pair[0]] = $pair[1];
}
于 2009-10-30T18:53:41.583 に答える