Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen der Übergabe von String- und Array-Werten in PHP mithilfe der Post-Methode von Curl

Der Unterschied zwischen der Übergabe von String- und Array-Werten in PHP mithilfe der Post-Methode von Curl

WBOY
WBOYOriginal
2016-07-29 09:14:041249Durchsuche

Kürzlich musste ich bei der Arbeit eine Java-Version der Schnittstelle von einem Drittanbieter anfordern. Nachdem ich den Code geschrieben hatte, stellte ich fest, dass dies nicht der Fall war Es wurde immer angezeigt, dass die übergebenen Parameter leer waren. Danach habe ich beschlossen, die Schnittstelle mit der String-Parametermethode anzufordern. Dies hat mich jedoch interessiert beim Studium des Unterschieds zwischen den beiden.

Der lokale Testcode lautet wie folgt:
curl.php

<code><span><span><?php </span><span><span>function</span><span>curl_post</span><span>(<span>$url</span>, <span>$data</span>)</span>{</span><span>$ch</span> = curl_init();
     curl_setopt(<span>$ch</span>, CURLOPT_URL, <span>$url</span>);
     curl_setopt(<span>$ch</span>, CURLOPT_RETURNTRANSFER, <span>1</span>);
     curl_setopt(<span>$ch</span>, CURLOPT_POST, <span>1</span>);
     curl_setopt(<span>$ch</span>, CURLOPT_POSTFIELDS, <span>$data</span>);
     <span>$output</span> = curl_exec(<span>$ch</span>);
     curl_close(<span>$ch</span>);
     <span>return</span><span>$output</span>;
}

<span>$params</span> = <span>array</span>();
<span>$params</span>[<span>'username'</span>] = <span>'ben'</span>;
<span>$params</span>[<span>'password'</span>] = <span>'lalala'</span>;
print_r(curl_post(<span>'http://localhost/curl/post.php'</span>, <span>$params</span>));

<span>$params</span> = <span>array</span>();
<span>$params</span>[<span>'username'</span>] = urlencode(<span>'ben'</span>);
<span>$params</span>[<span>'password'</span>] = urlencode(<span>'lalala'</span>);
<span>$paramsStr</span> = <span>"username={$params['username']}&password={$params['password']}"</span>;
print_r(curl_post(<span>'http://localhost/curl/post.php'</span>, <span>$paramsStr</span>));

<span>?></span></span></span></code>

post.php

<code><span><?php </span><span>echo</span><span>"-------php://input-----<br>"</span>;
var_dump(@file_get_contents(<span>'php://input'</span>));
<span>echo</span><span>"-------post-----<br>"</span>;
var_dump(<span>$_POST</span>);
<span>echo</span><span>"-------server-----<br>"</span>;
var_dump(<span>$_SERVER</span>);</span></code>

Die Ausführungsergebnisse sind im Screenshot unten zu sehen:
Der Unterschied zwischen der Übergabe von String- und Array-Werten in PHP mithilfe der Post-Methode von Curl

'). addClass('pre -numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

Urheberrechtserklärung: Bei diesem Artikel handelt es sich um einen Originalartikel des Bloggers. Bitte geben Sie beim Nachdruck die Quelle und den Namen des Autors an. Respektieren Sie andere und respektieren Sie sich selbst.

Das Obige stellt den Unterschied zwischen der Übertragung von String- und Array-Werten in PHP mithilfe der Post-Methode von Curl vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn