会话多维数组错误

时间:2013-11-19 17:50:29

标签: php html arrays

我遇到了一个会话多维数组的问题,我正在尝试添加值。我被告知我应该在“之前”开始添加值之前说明数组,但是当我这样做时,数组被视为普通数组而不是会话。因此,这对我的情况不起作用。同时,代码错误破坏了我的代码。我不知道如何解决这个问题。

以下是导致错误消息的代码行

  

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

(当然我有比这更多的代码,这些只是影响问题的行):

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" />

1 个答案:

答案 0 :(得分:1)

最有可能的是,$_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];
}