我遇到了一个问题,一个会话多维数组,我试图添加值。我被告知,我应该在“开始添加值之前”声明数组,但当我这样做时,数组将被视为正常数组,而不是会话。因此,这对我的情况是行不通的。同时,代码错误正在破坏我的代码。我不知道如何解决这个问题。
下面是导致错误消息的代码行
警告:不能将标量值用作数组
(当然,我有更多的代码,这些只是影响问题的行):
PHP:
for($i=0; $i < count($_POST['part_number']); $i++) {
$_SESSION['qty'][$i] = $_POST['qty'][$i];
}HTML:
<input type="text" value="1" name="qty[0]" size="2" />发布于 2013-11-19 17:53:47
很可能,$_SESSION['qty']或$_POST['qty']都不是数组。试试这个:
if(!isset($_SESSION['qty']) || !is_array($_SESSION['qty'])) $_SESSION['qty'] = array();
if(!is_array($_POST['qty'])) throw new Exception('Error: $_POST[\'qty\'] is not an array!');
for($i=0; $i < count($_POST['part_number']); $i++) {
if(!isset($_POST['qty'][$i])) continue;
$_SESSION['qty'][$i] = $_POST['qty'][$i];
}https://stackoverflow.com/questions/20078479
复制相似问题