>백엔드 개발 >PHP 튜토리얼 >php curl接收数据的问题

php curl接收数据的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-06 20:52:041496검색

接收端是print_r($_POST);

发送端写了一个curl提交post。

$ch = curl_init();
curl_setopt_array($ch,
array(
	CURLOPT_URL => 'http://myurl/abc.php',
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_POST => true,
	CURLOPT_POSTFIELDS =>'name=abc&id=123'
)
);
$content = curl_exec($ch);
print_r($content);
echo '<br>=========<br>';
echo $content['name'];

打印出来的结果:

Array(
    [name] => abc
    [id] => 123
)
=========
A

为什么$content['name']得到的是一个字母A...

回复内容:

接收端是print_r($_POST);

发送端写了一个curl提交post。

$ch = curl_init();
curl_setopt_array($ch,
array(
	CURLOPT_URL => 'http://myurl/abc.php',
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_POST => true,
	CURLOPT_POSTFIELDS =>'name=abc&id=123'
)
);
$content = curl_exec($ch);
print_r($content);
echo '<br>=========<br>';
echo $content['name'];

打印出来的结果:

Array(
    [name] => abc
    [id] => 123
)
=========
A

为什么$content['name']得到的是一个字母A...

$content = curl_exec($ch);

这行代码拿到的 $content 是一个字符串。所以你在 echo 的时候打印的是这个字符串。
把print_r换成 var_dump 就一目了然了

var_dump($content);

得到结果:

string(44) "Array
(
    [name] => abc
    [id] => 123
)
"

echo $content['name']; // 这一句

$content是一个字符串, 'name'在这里被转乘整数0,所以是第一个字母A.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.