不能将标量值用作数组

时间:2013-05-22 06:45:56

标签: php

我正在尝试这段代码:

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

但我明白了:

  

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

为什么呢?什么是解决方案?

4 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:5)

试试这个:

声明变量

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

OR

$rescntryvals  = array($rescntry);

参考:http://php.net/manual/en/language.types.array.php

答案 2 :(得分:2)

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

$rescntryvals     = array();

$resclkvalscntry  = array();

$resclkaddsnm     = array();

答案 3 :(得分:0)

另外,我收到此错误是因为我没有正确使用排序功能。

设置关联数组后,我会尝试返回排序数组,如下所示:

$arr = array(...);
$arr = asort($arr); //print_r($arr); -> 1

当然,这只会返回一个布尔值为true的数组。

正确的程序是:

$arr = array(...);
asort($arr); //print_r($arr); -> sorted array