首页 > 解决方案 > 在php中的多维数组中输入值

问题描述

我正在尝试 通过循环两个数组来动态地从 2 个数组创建一个多维数组。

代码

<?php
$days = ["Monday","Tuesday","Wednesday"];
$rates = [40,60,80];
$profit = [];

foreach($days as $day => $value){
    foreach($rates as $rate){
    $netprofit = $rate* 20;
     $profit[$value] = [$rate=> $netprofit];
    }


}
print_r($profit);

结果

Array
(
    [Monday] => Array
        (
            [80] => 1600
        )

    [Tuesday] => Array
        (
            [80] => 1600
        )

    [Wednesday] => Array
        (
            [80] => 1600
        )

)

预期结果

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 数组的值分配为第二维的键并分配一个值。我已经尝试过这种方法,但没有找到预期的结果。

标签: phparraysmultidimensional-arrayforeach

解决方案


试试这个:

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

推荐阅读