php curl的隐藏BUG
Posted 小昌君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php curl的隐藏BUG相关的知识,希望对你有一定的参考价值。
<?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的主要内容,如果未能解决你的问题,请参考以下文章