具有关联数组的PHP foreach函数的正确语法
我在PHP中有一个名为$component_difference的数组(下面的输出示例): 我尝试使用“foreach”至少提取idrecipe的值,但我使用以下代码获取未定义的索引:具有关联数组的PHP foreach函数的正确语法,php,arrays,foreach,associative-array,Php,Arrays,Foreach,Associative Array,我在PHP中有一个名为$component_difference的数组(下面的输出示例): 我尝试使用“foreach”至少提取idrecipe的值,但我使用以下代码获取未定义的索引: foreach($ingredient_difference as $recipe_output) { echo $recipe_output['idrecipe']."<br />"; } 我的foreach语法缺少什么?还是有更好的办法 此foreach构造还提供未定义的索引错误: fo
foreach($ingredient_difference as $recipe_output)
{
echo $recipe_output['idrecipe']."<br />";
}
我的foreach语法缺少什么?还是有更好的办法
此foreach构造还提供未定义的索引错误:
foreach($ingredient_difference as $rowkey => $index_value)
{
$id_value[$key] = $index_value['idrecipe'];
$value_value[$key] = $index_value['value'];
$tri_value[$key] = $index_value['total_remaining_ingredients'];
}
感谢ComFreek:
$result_ingredient_difference = array();
$count_id = count($ingredient_difference['idrecipe']);
for ($i=0; $i<$count_id; $i++)
{
$result_ingredient_difference[] = array(
'tri' => $ingredient_difference['total_remaining_ingredients'][$i],
'idrecipe' => $ingredient_difference['idrecipe'][$i],
'value' => $ingredient_difference['value'][$i]
);
}
//rearranged array of $result_ingredient_difference able to call proper indexing with the below
foreach($result_ingredient_difference as $rowkey => $index_value)
{
$id_value[$key] = $index_value['idrecipe'];
$value_value[$key] = $index_value['value'];
$tri_value[$key] = $index_value['tri'];
}
$result\u component\u difference=array();
$count_id=count($component_difference['idrecipe']);
对于($i=0;$i$成分差异[‘总剩余成分’][$i],
“idrecipe”=>$i差异['idrecipe'][$i],
'value'=>$component\u差异['value'][$i]
);
}
//重新排列的$result\u component\u差异数组能够调用下面的适当索引
foreach($result\u component\u差异为$rowkey=>$index\u值)
{
$id_值[$key]=$index_值['idrecipe'];
$value_value[$key]=$index_value['value'];
$tri_值[$key]=$index_值['tri'];
}
使用第一个foreach()
循环,您可以迭代主数组,而不是子数组idrecipe
的值
foreach($ingredient_difference['idrecipe'] as $value)
{
echo $value;
}
foreach构造一个循环。在代码中
foreach($ingredient_difference as $recipe_output) {
echo $recipe_output['idrecipe']."<br />"; }
你得到了错误
要了解foreach循环是如何工作的,请使用上的示例
我想你想做的是:
foreach($ingredient_difference['idrecipe'] as $value_of_recipe)
{
echo $value_of_recipe."<br />";
}
foreach($component\u difference['idrecipe']作为配方的$value\u)
{
echo配方的$value_.“
”;
}
谢谢。这肯定会得到“idrecipe”值。我将如何获得三个不同的指数(即“idrecipe”、“value”和“total_剩余成分”)。我原以为使用foreach($key=>$value)这样的方法就可以了,但我没有成功。你到底想做什么?如果您只有三个条目,则不必这样做。您的foreach()是正确的,但我认为您访问特定值的方式是错误的。请给我们看看代码。我想知道是否有办法只构造一个foreach循环来获取所有三个索引的值,而不是为“idrecipe”、“value”和“total_remaining_components”索引运行三个不同的foreach循环。请看上面修改的代码,它给了我未定义的索引错误。我会在测试后公布结果。非常感谢。
foreach($ingredient_difference as $recipe_output) {
echo $recipe_output['idrecipe']."<br />"; }
$ingredient_difference['total_remaining_ingredients']['idrecipe']
$ingredient_difference['idrecipe']['idrecipe']
$ingredient_difference['value']['idrecipe']
foreach($ingredient_difference['idrecipe'] as $value_of_recipe)
{
echo $value_of_recipe."<br />";
}