在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);