我有以下代码:
$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>';
输出结果为:
id:5
阵列
(
[5] =&gt; 12个
)itemqtys [ID]:
id:5
如您所见,当我尝试使用$ id变量作为键访问数组中的值时,不返回任何值。但是,当我这样做时:
echo '<br>' . 'itemqtys[5]: ' . $itemQtys[5] . '<br>';
结果是:
itemqtys [5]:12
为什么我不能使用变量来指定数组中的索引?
答案 0 :(得分:6)
调试时使用var_dump()来检查值。注意var dump告诉你字符串的长度。右键单击&gt;调试时查看html源代码。
我的猜测是$ id是一个字符串并且有尾随空白字符。
答案 1 :(得分:1)
$id
可能不包含您的期望,首先将其转换为整数。
将您的第一行更改为:
$id = (int) $_GET['id']
;
$_GET['id']
返回一个字符串,在将其用作数组索引之前必须将其强制转换为int
。