不能将标量值用作数组


Cannot use a scalar value as an array

我正在尝试这个代码:

$rescntryvals[] = $rescntry;
$rescntry = "";
$resclkvalscntry[] = $rclick;
$rclick = "";
$resclkaddsnm[] = $addsnmame;
$addsnmame = "";

但是我得到了这个:

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

为什么?解决方法是什么?

必须先声明$rescntryvals为数组。默认情况下,所有变量的类型都是null(未定义),直到您定义它们。

$rescntryvals  = array();
$rescntryvals[]=$rescntry;

试试这个:

声明变量

$rescntryvals  = array();
$rescntryvals[]=$rescntry;

$rescntryvals  = array($rescntry);

裁判:http://php.net/manual/en/language.types.array.php

在第一行,定义你的变量,应该是一个数组。

$rescntryvals     = array();
$resclkvalscntry  = array();
$resclkaddsnm     = array();

根据PHP文档,标量值一次保存一个项。数组保存了一个项目列表。

确保你的代码创建的是一个数组,而不是一个项目。

OP的代码没有初始化数组,如接受的答案所示。

例如,当您意外地将一个布尔值赋给一个应该是数组的变量时,就会发生这种情况,就像我在以下代码中所做的那样:

$arr = asort($arr);