在php中的多维数组中输入值
我试图通过循环两个数组,从两个数组动态创建一个多维数组 代码 预期结果在php中的多维数组中输入值,php,arrays,multidimensional-array,foreach,Php,Arrays,Multidimensional Array,Foreach,我试图通过循环两个数组,从两个数组动态创建一个多维数组 代码 预期结果 Array ( [Monday] => Array ( [40] => 800 [60] => 1200 [80] => 1600 ) [Tuesday] => Array ( [40] => 800 [6
Array
(
[Monday] => Array
(
[40] => 800
[60] => 1200
[80] => 1600
)
[Tuesday] => Array
(
[40] => 800
[60] => 1200
[80] => 1600
)
[Wednesday] => Array
(
[40] => 800
[60] => 1200
[80] => 1600
)
)
我想循环数组$days,并将其用作新数组$profit的第一个维度的键。
其次,我想分配$rates数组的值作为第二维度的键,并分配一个值。
我尝试过这种方法,但没有找到预期的结果。尝试以下方法:
$days = ["Monday","Tuesday","Wednesday"];
$rates = [40,60,80];
$profit = [];
foreach($days as $day => $value){
$x = array();
foreach($rates as $rate){
$x[$rate] = $rate* 20;
}
$profit[$value] = $x;
}
print_r($profit);
你需要把你的利润放在下面:
foreach($days作为$day){
$利润[$天]=[];
foreach($费率为$费率){
$净利润=$费率*20;
$利润[$天][$费率]=$净利润;
}
}
我得到了预期的结果。谢谢我还从@RoboRobok answer获得了预期的结果。如果我采用这种方法,我可以在第二个foreach循环中使用第一个数组的$value?我从两个答案中得到了预期的结果,只是试图找出两个答案之间的差异。感谢区别在于我的答案没有使用单独的变量来存储特定日期的数据,而Hardood使用单独的变量。我还稍微清理了一下您的代码,因为您的foreach
循环有点错误。在您的示例中,您没有在任何地方使用$day
变量,您将day命名为$value
,而$day
是一天的索引:0、1等。好的,感谢您的解释,如果我想在第二个foreach循环中使用days数据呢?您可以这样做,我的答案实际上就是这样做的。查看我如何在嵌套的foreach
中使用$day
。我需要有关此数组的更多帮助。我发布了一个新问题。你能看看你是否能帮忙吗?[
Array
(
[Monday] => Array
(
[40] => 800
[60] => 1200
[80] => 1600
)
[Tuesday] => Array
(
[40] => 800
[60] => 1200
[80] => 1600
)
[Wednesday] => Array
(
[40] => 800
[60] => 1200
[80] => 1600
)
)
$days = ["Monday","Tuesday","Wednesday"];
$rates = [40,60,80];
$profit = [];
foreach($days as $day => $value){
$x = array();
foreach($rates as $rate){
$x[$rate] = $rate* 20;
}
$profit[$value] = $x;
}
print_r($profit);