从多个数组构建SQL查询 - PHP

时间:2015-07-09 20:43:06

标签: php arrays

我有一个看起来像这样的数组..

Array
(
    [fm] => Array
        (
            [133.74] => Array
                (
                    [base] => Array
                        (
                            [0] => 2015-09-29
                            [1] => 2015-09-30
                        )

                )

            [202.59] => Array
                (
                    [base] => Array
                        (
                            [0] => 2015-10-01
                        )

                )

        )

    [fmtax] => Array
        (
            [13.51] => Array
                (
                    [0] => 2015-09-29
                    [1] => 2015-09-30
                )

            [20.46] => Array
                (
                    [0] => 2015-10-01
                )

        )

)

我需要构建一个SQL语句来插入相关的值。我认为它需要是每个数组项的唯一查询。

所以我最终需要像

这样的东西
$sql = "insert into mytable ('price', 'tax', 'date')
         values ('133.74', '13.51', '2015-09-29')";

到目前为止我得到的是......

foreach ($sale['fm'] as $key => $value) {
    $i=0;
    $g=count($value['base']);
    while($i < $g) {
        echo($sale['fm'][$key]['base'][$i]."<br />");
        $i++;
    }
}

适用于&#34; fm&#34;密钥 - 但我已经挂断了如何从第二个关联&#34; fmtax&#34;中获取价值。数组键。我正在考虑使用像current / next这样的东西,因为它迭代了......但是我有点不知所措。

1 个答案:

答案 0 :(得分:0)

我假设224fm都有相同数量的元素,而fmtaxfm的相关元素(价格和税收)的顺序相同。你可以做的是 - 以这种方式用简单的密钥存储来自fmtax的税:

fmtax

然后,您可以通过以下方式从您自己的代码块访问这个新的$taxes = array(); $c = 0; foreach ($sale['fmtax'] as $key => $value) { $taxes[$c] = $key; $c++; } 数组:

$taxes