2

我有以下代码:

$id = $_GET['id'];

echo '<br>' . 'id: ' . $id . '<br><br>';

echo '<pre>';
            print_r($itemQtys);
echo '</pre>';

echo '<br>' . 'itemqtys[id]: ' . $itemQtys[$id] . '<br>';

echo '<br>' . 'id: ' . $id . '<br>';

输出是:

编号:5

数组

[5] => 12

itemqtys[id]:

编号:5

如您所见,当我尝试使用 $id 变量作为键访问数组中的值时,没有返回任何值。但是,当我这样做时:

echo '<br>' . 'itemqtys[5]: ' . $itemQtys[5] . '<br>';

结果是:

项目数量 [5]: 12

为什么我不能使用变量来指定数组中的索引?

4

2 回答 2

6

调试时使用 var_dump() 检查值。注意 var dump 告诉你字符串的长度。调试时右键单击>查看html源代码。

我的猜测是 $id 是一个字符串并且有尾随空格字符。

于 2012-05-20T22:06:18.680 回答
1

$id可能不包含您期望的内容,请先将其转换为整数。

将第一行更改为:

$id = (int) $_GET['id'];

$_GET['id']返回一个字符串,您必须int在将其用作数组索引之前将其转换为。

于 2012-05-20T22:06:50.873 回答