【问题标题】:Set key/values in array "cannot use a scalar value as an array"在数组中设置键/值“不能将标量值用作数组”
【发布时间】:2015-01-27 23:15:17
【问题描述】:

我有一个包含这些数据的数组 var:

  $arr["values"] = [
    "key1" => "value1"
    "key2" => "value2"
    "key3" => "value3"
  ]

现在我正在尝试向$arr 添加新密钥,如下所示:

$arr['newvalues'] = "anothervalue";
$arr['newvalues']['subvalues'] = "some_subvalue";

但是我收到了这个错误:

警告:不能将标量值用作数组

并且在这一行标出了错误:

$arr['newvalues']['subvalues'] = "some_subvalue";

为什么?我没有正确添加键/值?我做错了什么?

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    您必须将$arr['newvalues'] 设置为数组才能向其中添加元素,目前您将其设置为字符串。

    $arr['newvalues'] = [];
    $arr['newvalues']['subvalues'] = "some_subvalue";
    

    【讨论】:

      【解决方案2】:

      在这一行

      $arr['newvalues'] = "anothervalue";
      

      您正在为$arr['newvalues'] 分配一个标量值。在下一行,您将其视为一个数组,但并非如此,因为您刚刚为其分配了一个标量值。

      可能的意思是让$arr['newvalues'] 成为一个数组并将anothervalue 添加到其中。

      $arr['newvalues'][] = "anothervalue";
      

      【讨论】:

        猜你喜欢
        • 2011-12-02
        • 2019-12-17
        • 2014-07-11
        • 2014-02-26
        • 1970-01-01
        • 2012-01-05
        • 1970-01-01
        • 2021-07-20
        相关资源
        最近更新 更多