0

PHP で cURL を使用して POST でデータを送信する場合は、cURL オプション CURLOPT_POSTFIELDS をデータに設定します。

ここにいくつかのサンプルデータがあります array('foo'=>'bar','ninja'=>'pirate')

今ここで私は混乱しています。

私が見たコード例の半分は、配列に対して何らかの前処理を行い、データをエンコードして、適切にフォーマットされた URL 文字列にスマッシュします。

データ配列を次"foo=bar&ninja=pirate"のように変換し、その文字列をデータとして CURLOPT_POSTFIELDS に設定します。

しかし、私が見た例の残りの半分は、配列を CURLOPT_POSTFIELDS に直接渡すだけで、それだけです。

紛らわしい部分は、両方が仕事をするということです。どちらも機能することを考えると、どちらかが「正しい」とは言えないと思います。

文字列メソッドを実行することの唯一の利点は、のような値を持たないパラメーターを URL に設定"foo=bar&awesome&ninja=pirate"できることです。連想配列を介してそれを実行できるかどうかはわかりません。値(私は思いません)ですが、配列全体を文字列に複製するため、メモリの無駄のようです

4

1 に答える 1

2

どちらの方法も受け入れられます。

質問は; コードを書き出して「データをつぶす」か、配列を作成して PHP に処理させるか。

簡単なオプションを選択しない理由がないかどうか疑問がある場合は、簡単なオプションを選択してください:) この場合(私の知る限り)、パラメーターを配列として渡すことでできないことは何もないので、配列として渡します。

于 2009-02-06T00:37:54.867 に答える