Php 将多维数组中的值插入数据库

Php 将多维数组中的值插入数据库,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我对PHP真的很陌生,正在努力学习它。 现在我正在解决一个更困难的任务 我有一些重复字段的表单(并非所有字段都是可重复的)。 我从整个表单中得到以下输出: JSON: 解码到阵列: Array ( [material] => Array ( [0] => Array ( [reference] => 11 [mnozst

我对PHP真的很陌生,正在努力学习它。 现在我正在解决一个更困难的任务

我有一些重复字段的表单(并非所有字段都是可重复的)。 我从整个表单中得到以下输出:

JSON:

解码到阵列:

Array
(
    [material] => Array
        (
            [0] => Array
                (
                    [reference] => 11
                    [mnozstvi] => 25
                    [level] => 1
                )

            [1] => Array
                (
                    [reference] => 56
                    [mnozstvi] => 88
                    [level] => 2
                )

            [2] => Array
                (
                    [reference] => 44
                    [mnozstvi] => 123
                    [level] => 1
                )

        )

    [pozice] => 581
    [poznamka] => Test
    [cas] => 1619965495
    [skladnik] => 7
)
我只想将这些值插入MySQL数据库中的一个表中。 每种材料一行,并向每行添加其他字段值(pozice、poznamka、cas、skladnik)

因此,每一行将是:参考、mnozstvi、level、pozice、poznamka、cas、skladnik

我知道这对你来说可能很容易,但我完全迷路了


非常感谢您的回答和帮助。

您可以使用foreach循环作为材质键,然后使用插入,如下所示:

$collection = array
(
    [material] => Array
        (
            [0] => Array
                (
                    [reference] => 11
                    [mnozstvi] => 25
                    [level] => 1
                )

            [1] => Array
                (
                    [reference] => 56
                    [mnozstvi] => 88
                    [level] => 2
                )

            [2] => Array
                (
                    [reference] => 44
                    [mnozstvi] => 123
                    [level] => 1
                )

        )

    [pozice] => 581
    [poznamka] => Test
    [cas] => 1619965495
    [skladnik] => 7
);

foreach ($collection['material'] as $materialData) {
  //here you can use variables as below.
  echo $materialData['reference'];
  echo $materialData['mnozstvi'];
  echo $materialData['level'];
  echo $collection['pozice'];
  echo $collection['poznamka'];
  echo $collection['cas'];
  echo $collection['skladnik'];
  // you can use variables as above shared syntax and can write your sql insertion code.
}

非常感谢!!工作得很好!我有很多东西需要学习,并了解数据结构。@MichalČabala请接受答案并投票:)答案被接受,投票被否决,但我没有足够的声誉进行投票,但它被记录在案;-)
$collection = array
(
    [material] => Array
        (
            [0] => Array
                (
                    [reference] => 11
                    [mnozstvi] => 25
                    [level] => 1
                )

            [1] => Array
                (
                    [reference] => 56
                    [mnozstvi] => 88
                    [level] => 2
                )

            [2] => Array
                (
                    [reference] => 44
                    [mnozstvi] => 123
                    [level] => 1
                )

        )

    [pozice] => 581
    [poznamka] => Test
    [cas] => 1619965495
    [skladnik] => 7
);

foreach ($collection['material'] as $materialData) {
  //here you can use variables as below.
  echo $materialData['reference'];
  echo $materialData['mnozstvi'];
  echo $materialData['level'];
  echo $collection['pozice'];
  echo $collection['poznamka'];
  echo $collection['cas'];
  echo $collection['skladnik'];
  // you can use variables as above shared syntax and can write your sql insertion code.
}