php - 语法错误,意外T_DOUBLE_ARROW

 荣哥918 发布于 2023-02-13 08:14

我怎么能摆脱这个错误?

Parse error: syntax error, unexpected T_DOUBLE_ARROW in /var/www/core/restvt.api.php on line 35

PHP代码:

            $datax = Array();

    foreach ($inis as $key => $data){

        if ($data=="mem"){
            $str = number_format($ARRAY[(array_search($data.':',$ARRAY)+2)]/1024,0,',','.')." MB [ ".number_format(($ARRAY[(array_search($data.':',$ARRAY)+2)]/$ARRAY[(array_search($data.':',$ARRAY)+1)])*100,0,',','.')." % ]";
            array_push($datax, "mem"=>$str); //error here, why?
        }else{
        array_push($datax,$data=>$ARRAY[(array_search($data.':',$ARRAY)+1)]);
        }
    }

        $jsonr = json_encode($datax);

很多你的帮助......

2 个回答
  • 讨厌人们使用array_push - 我知道这是合法的.在这种情况下,你不能 a key => value送到你的数组,只需这样做:

    $datax['mem'] = $str;
    

    手册:http://php.net/manual/en/function.array-push.php

    编辑

    如果您坚持使用array_pushtype方法,则需要使用新的键值对创建一个新数组,然后使用array_merge它们加入它们:

    $new_data = array('mem' => $str);
    $datax = array_merge($datax, $new_data);
    

    2023-02-13 08:19 回答
  • 错误有效:

    意外'=>'(T_DOUBLE_ARROW)

    这意味着PHP不期待这些角色=>.
    您只能按预期使用PHP预定义函数,您可以在php.net上找到准确的文档.
    有关您的功能,请参阅此处:http: //php.net/manual/en/function.array-push.php

    您试图以不希望的方式使用该函数,因此当您执行PHP不允许的操作时,PHP会抛出错误.

    所以你不能按照自己的意愿使用这个功能,因此需要采用不同的方式.
    这样可以正常工作 - 在$str数组中附加一个新值(在本例中):

    $datax['mem'] = $str;
    

    您的数组$datax现在具有新键mem,其中(new)值为$ str中任何值.
    这种方法不仅管理起来更简单,而且由于您没有使用函数调用,因此开销更少 - array_push().
    访问PHP手册页也可以告诉你.

    如果使用array_push()向数组添加一个元素,最好使用$ array [] =因为这样就没有调用函数的开销.

    2023-02-13 08:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有