• 技术文章 >后端开发 >PHP问题

    php提示Array怎么办

    醉折花枝作酒筹醉折花枝作酒筹2021-04-06 11:55:38转载98
    本文将讲解数组当成了字符串使用,php提示Array to string conversion的两种解决方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    第一种

    这种场景比较少,大多数都是新手才会犯,也很容易发现解决错误。就是字面意思,将数组当成字符串使用了。
    示例:

    $arr = array(0, 1, 2);
    //错误1,双引号可以解析变量,但是双引号中,就会认为它是字符串。
    var_dump("$arr");
    //错误2
    echo $arr;

    这种情况会返回结果:

    PHP Notice: Array to string conversion in /path/test.php on line 5

    解决方案就是将数组转换成字符串再使用:比如使用json_encode($arr);

    第二种

    这种场景也比较少,而且只看提示 Array to string conversion 很难理解哪里出错了。
    在我们使用curl的时候,通过post传参数,当参数为二维数组的时候,会报这个错,这就很神奇了。
    示例:

    $data = array([0], [1], [3]);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    //报错行
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = curl_exec($ch);

    这个问题解决方案也很简单。使用 http_build_query()处理一下参数就可以了。建议使用curl的时候,参数都用http_build_query处理一下。

    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

    推荐学习:php视频教程

    以上就是php提示Array怎么办的详细内容,更多请关注php中文网其它相关文章!

    本文转载于:CSDN,如有侵犯,请联系a@php.cn删除
    专题推荐:php
    上一篇:php如何使用Aes进行加密 下一篇:php如何压缩图片保持大小不变
    第15期线上培训班

    相关文章推荐

    • php怎么实现禁止单个ip访问• php空数组怎么转json对象• 关于thinkphp6在命令行访问控制器• 七大php主流框架,你用过几个?• 详解PHP7 OpenSSL DES-EDE-CBC加解密• PHP面试题之应用题最新汇总

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网