访问for循环内部的PHP数组
为什么以下代码在显式地为1调用时返回正确,而在for循环中调用时返回不正确 名称:格兰诺拉麦片价格:5.99访问for循环内部的PHP数组,php,arrays,for-loop,Php,Arrays,For Loop,为什么以下代码在显式地为1调用时返回正确,而在for循环中调用时返回不正确 名称:格兰诺拉麦片价格:5.99 1名称:价格: 2名称:价格: 问题是您使用了$data[i]而不是$data[$i]。PHP变量以$.开头,因为在循环中引用的是一个常量,i,而不是变量$i$data[i]应该是$data[$i]您可能需要foreach而不是for。将数组字符串键放在引号中('price'而不是price)。尴尬。。。谢谢。我相信我们大多数人在很多情况下都没有看到森林中的树木;)同时,还要修复$p_
1名称:价格:
2名称:价格:
问题是您使用了$data[i]而不是$data[$i]。PHP变量以$.开头,因为在循环中引用的是一个常量,i
,而不是变量$i
$data[i]
应该是$data[$i]
您可能需要foreach而不是for。将数组字符串键放在引号中('price'
而不是price
)。尴尬。。。谢谢。我相信我们大多数人在很多情况下都没有看到森林中的树木;)同时,还要修复$p_name
和$price
@Niels:我猜它们可能是键而不是变量。例如,大多数犹太食品都是$data[$i]['p_name']。当然,即使没有单引号,PHP也会解决这些问题(尽管效率稍低)。同时发出E_通知
。感谢您的帮助。
<?php
echo "name: " . $data[1][p_name];
echo " price: " . $data[1][price] . "<br />";
for ($i = 1; $i <= count($data); $i++) {
echo $i . " name: " . $data[i][p_name];
echo " price: " . $data[i][price] . "<br />";
}
?>