8

我正在尝试这段代码:

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

但我明白了:

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

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

4

4 回答 4

9

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

$rescntryvals  = array();
$rescntryvals[]=$rescntry;
于 2013-05-22T06:56:00.020 回答
5

尝试这个 :

声明变量

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

或者

$rescntryvals  = array($rescntry);

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

于 2013-05-22T06:47:10.490 回答
2

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

$rescntryvals     = array();

$resclkvalscntry  = array();

$resclkaddsnm     = array();
于 2013-05-22T06:52:21.587 回答
1

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

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

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

当然,这只返回一个布尔值 true,表示数组已排序。

正确的程序是:

$arr = array(...);
asort($arr); //print_r($arr); -> sorted array
于 2015-04-09T20:46:43.693 回答