那里。我在 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 列看到,所以这是我需要获取区间数据直到它超出区间的时候。但它可能会发生多次,因为用户输入的此表将其打开,我们需要记住,我需要单独处理所有间隔来处理每个间隔的数据。