登录

php curl接收数据的问题

接收端是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...

# PHP
迷茫迷茫2154 天前498 次浏览

全部回复(2) 我要回复

  • PHP中文网

    PHP中文网2017-04-10 13:12:48

    $content = curl_exec($ch);

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

    var_dump($content);

    得到结果:

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

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 13:12:48

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

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

    回复
    0
  • 取消回复发送