php - php中的多级维数组

标签 php arrays

我一直在试图弄清楚如何在多维数组上进行 foreach 循环,但遗憾的是没有运气,我有下面的数组

$levels = [
        'A' => [
            'xx' => null,
            'yy' => 0
        ],
        'B' => [
            'xx' => 1,
            'yy' => 100
        ],
        'C' => [
            'xx' => 3,
            'yy' => 250
        ],
        'D' => [
            'xx' => 6,
            'yy' => 500
        ]
    ];

xxyy 是表中的列,我只是尝试为它们分配一些值,如下所示

foreach ($levels as $level => $info) {
    foreach ($info as $key => $value) {
        Level::create([
             'name' => $level,
             'xx'   => $value,
             'yy'   => $value
         ]);
      }
  }

但这不起作用,它会创建重复的条目:(。

最佳答案

您不需要内部 foreach。您可以从 $info 联系 xx、yy:

foreach ($levels as $level => $info) {
    Level::create([
         'name' => $level,
         'xx'   => $info['xx'],
         'yy'   => $info['yy']
     ]);
}

关于php - php中的多级维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35075049/

相关文章:

php - 保护 PHP 应用程序的安全

c - 从内存中读取 6 个字节的更优雅的方法

javascript - 如何从 Javascript/Typescript 中的数组对象计算运行总计并使用 HTML 在每个实例中显示输出?

java - 获取一个数组,判断该数字是否更接近右/左零

php - MySQL 枚举。使用字符串还是数字更好

php - PHP 脚本中的这条 MySQL 语句有多安全?

php - 如何将日期转换并保存为mysql格式?

php - 需要以1000个为一批发送通知

php - 合并多个数组的行数据

javascript - 将数组 block 分成组 - 我的代码有什么问题?