0

那里。我在 php 中在某些条件下创建数组时遇到问题,我将尝试解释。这是我的代码:

for ($i = 1; $i < $tamanho_array_afundamento; $i++) {
    if ($array_afundamento[$i] - $array_afundamento[$i - 1] > 1) {
        $a = $array_afundamento[$i - 1];

        $con->query('CREATE TABLE IF NOT EXISTS afunda_$a
                     SELECT (L1_forma_tensao_max + L1_forma_tensao_min)/2 as L1_forma_tensao, (L2_forma_tensao_max + L2_forma_tensao_min)/2 as L2_forma_tensao, (L3_forma_tensao_max + L3_forma_tensao_min)/2 as L3_forma_tensao
                     FROM afundamento
                     WHERE id > $prevNum AND id < $a');

        $tabelas_intervalos_afunda1 = ($con->query("SELECT * FROM afunda_$a");

        while ($row = $tabelas_intervalos_afunda->fetch(PDO::FETCH_ASSOC)) {
            $array_forma_onda_fase1_afund[] = $row['L1_forma_tensao'];
            $array_forma_onda_fase2_afund[] = $row['L2_forma_tensao'];
            $array_forma_onda_fase3_afund[] = $row['L3_forma_tensao'];
        }
        $prevNum = $a;
    }
}

如您所见,我在 for 循环中有一个 if 语句,我想要做的是创建一组:

{
    $array_forma_onda_fase1_afund[] = $row['L1_forma_tensao'];
    $array_forma_onda_fase2_afund[] = $row['L2_forma_tensao'];
    $array_forma_onda_fase3_afund[] = $row['L3_forma_tensao'];
    }

每次运行 if 语句。我试图在原始代码中替换它:

{
    $array_forma_onda_fase1_afund_$a[] = $row['L1_forma_tensao'];
    $array_forma_onda_fase2_afund_$a[] = $row['L2_forma_tensao'];
    $array_forma_onda_fase3_afund_$a[] = $row['L3_forma_tensao'];
    }

所以$a每次访问 if 语句时都会更改,每次访问 if 语句时我都可以拥有一组不同的数组,但是 php 不接受这一点,我不会有一个很好的结果,但如果我可以达到它我会很高兴。

但我的目标是:

{
        $array_forma_onda_fase1_afund_1[] = $row['L1_forma_tensao'];
        $array_forma_onda_fase2_afund_1[] = $row['L2_forma_tensao'];
        $array_forma_onda_fase3_afund_1[] = $row['L3_forma_tensao'];
        }
{
        $array_forma_onda_fase1_afund_2[] = $row['L1_forma_tensao'];
        $array_forma_onda_fase2_afund_2[] = $row['L2_forma_tensao'];
        $array_forma_onda_fase3_afund_2[] = $row['L3_forma_tensao'];
        }

...

其中最后一个数字表示 if 语句运行第 n 次检索到的数组。有人有小费吗?

提前致谢!将不胜感激任何帮助。

编辑

如所问,我的现实世界条款如下:

我有一个表,我需要从中获取给定间隔内的所有数据。但是,有一个问题,我的数据是一个正弦函数,其幅度可能会无限变化(数据库由用户输入),当幅度进入该区间时,我需要进行一些操作,例如获得最小值虽然数据在该区间和其他一些参数内,但对于每个区间分别来说,(这就是我创建所有这些表的原因。)并计算它发生了多少次。因此,为了进行其中一项操作,每次用户输入的数据库进入该时间间隔时,我都需要一个包含数据的数组(由创建查询的限制给出。)。

如果我不清楚,请告诉我!

编辑 2

这是我正在使用的部分表格的图像:http: //postimg.org/image/5vegnk043/

所以,当正弦进入我需要的区间时,它可以被指责它的 L1_RMS 列看到,所以这是我需要获取区间数据直到它超出区间的时候。但它可能会发生多次,因为用户输入的此表将其打开,我们需要记住,我需要单独处理所有间隔来处理每个间隔的数据。

4

1 回答 1

1

物理啊?

你可以用数组做你想做的事,这不是很漂亮,但它是可能的。您可以在最后使用 _$a 动态命名数组,变量变量,例如:

${"array_forma_onda_fase3_afund_" . $a}[] = "fisica é medo";

于 2013-10-09T22:46:19.203 回答