Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问for循环内部的PHP数组_Php_Arrays_For Loop - Fatal编程技术网

访问for循环内部的PHP数组

访问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调用时返回正确,而在for循环中调用时返回不正确

名称:格兰诺拉麦片价格:5.99
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 />";
        }
?>