码迷,mamicode.com
首页 > Web开发 > 详细

php curl的隐藏BUG

时间:2018-06-26 20:48:32      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:pre   区域   init   curl   一个   var   内存区域   遇到   array   

<?php
$a = array(
    ‘a‘ => 2,
    ‘b‘ => 3,
);

$curl  = curl_init();
$b = $a;
curl_setopt_array($curl, array(
     CURLOPT_POSTFIELDS => $b
));

var_dump($a);

今天遇到一个神奇的BUG:

上述执行完以后,$a和$b里面的数据变成了字符串型

如果在$b=$a后,改变一下$b以后(比如$b[‘c‘] = 3;),$a就正常了。

个人猜测原因应该是$b=$a后,如果没有修改$b,则它们指向同一个内存区域。

 

而之所以$b的数据会变成字符串型,应该是curl_setopt_array()的BUG,PHP7以后这个BUG就不存在了

php curl的隐藏BUG

标签:pre   区域   init   curl   一个   var   内存区域   遇到   array   

原文地址:https://www.cnblogs.com/liaokaichang/p/9230930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!