当前位置: 首页 > 知识库问答 >
问题:

PHP-语法错误,意外T_DOUBLE_ARROW[重复]

水飞掣
2023-03-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个答案

蒲昊
2023-03-14

该错误实际上是:

意外的=

这意味着PHP不期望这些字符=

您试图以非预期的方式使用该函数,因此当您执行PHP不允许的操作时,PHP会抛出一个错误。

因此,您无法按自己的意愿使用函数,因此需要以不同的方式处理它。
这将很好地工作-将新值(在本例中为$str)附加到数组中:

$datax['mem'] = $str;

您的数组$datax现在具有新的键mem,该键的(新)值为$str中的任何值。
此方法不仅更易于管理,而且由于您不使用函数调用,因此开销也小得多-array\u push()
访问PHP手册页面也会告诉您这一点。

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

吴才俊
2023-03-14

我讨厌看到人们使用array_push——我知道这是合法的。在这种情况下,不能按键=

$datax['mem'] = $str;

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

编辑

如果坚持使用array\u pushtype方法,则需要使用新的键值对创建一个新数组,然后使用array\u merge加入它们:

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

 类似资料:
  • 我以前从未遇到过这种情况,但现在我们开始: 有什么想法吗? 运行php fpm 5.3 Ubuntu 看起来好像评论不起作用...

  • 这是我正在开发的wordpress插件的代码。 我是插件开发新手,不知道为什么会出现这样的错误:

  • 我正在使用Flash和PHP创建一个JPG。我让Flash和PHP在本地主机服务器上按预期工作。当我上传到服务器时,出现以下错误: 分析错误:语法错误,在/home/carlosrg/public\u html/mysubdomain/image中出现意外的“:”。php在线6 以及守则: 提前感谢您的时间。

  • 问题内容: 调试代码时出现此错误: PHP解析错误:语法错误,第72行的order.php中出现意外的T_OBJECT_OPERATOR 这是代码段(从第72行开始): 问题答案: 不幸的是,不可能在刚用PHP 5.4之前创建的对象上调用方法。 在PHP 5.4和更高版本中,可以使用以下内容: 注意必填的括号对。 在以前的版本中,必须在变量上调用方法:

  • 下面是代码的一个片段(从第72行开始):

  • 问题内容: 这个问题已经在这里有了答案 : 参考-此错误在PHP中意味着什么? (36个答案) 6年前关闭。 完全错误:解析错误:语法错误,意外的’‘(T_ENCAPSED_AND_WHITESPACE),期望的标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING) 它说错误在第12行上。 任何帮助将不胜感激! 问题答案: 您有多余的单引号: