【发布时间】:2021-09-03 01:03:24
【问题描述】:
你能帮我解决 php 中的循环问题吗?我已经困惑了几个小时,因为我没有深入了解
所以总的来说,下面的数据是聚类计算的结果 - KMeans。下面的数组是已经分组的数据。
问题在于显示它的时候,因为它对我来说太混乱了。
所以我有一个数组数据,如下所示。
array (size=3)
0 =>
array (size=8)
'Label 1' => int 1
'Label 2' => int 0
'Label 3' => int 0
'Label 4' => int 0
'Label 5' => int 0
'Label 6' => int 0
'Label 7' => int 1
'Label 8' => int 0
1 =>
array (size=8)
'Label 1' => int 0
'Label 2' => int 0
'Label 3' => int 1
'Label 4' => int 0
'Label 5' => int 1
'Label 6' => int 1
'Label 7' => int 0
'Label 8' => int 0
2 =>
array (size=8)
'Label 1' => int 0
'Label 2' => int 1
'Label 3' => int 0
'Label 4' => int 1
'Label 5' => int 0
'Label 6' => int 0
'Label 7' => int 0
'Label 8' => int 1
我想创建一个看起来像这样的表。
| Lable | Groups |
|---|---|
| Label 1 | C1 |
| Label 2 | C3 |
| Label 3 | C2 |
| Label 4 | C3 |
| Label 5 | C2 |
| Label 6 | C2 |
| Label 7 | C1 |
| Label 8 | C3 |
其中数组 0.1,2 将用于识别 C1、C2、C3。所以
array 0 = C1
array 1 = C2
array 2 = C3
Saya sudah mencoba seperti ini,tetapi hasil yang diharapkan membingungkan dan sejak itu,hanya macet di sini
// $dataset->count() = 8
for ($i=0; $i<$dataset->count(); $i++){
// $dataset->label($i) = get lable
echo $dataset->label($i) . "<br>";
// $results->count() = 3
for ($j=0; $j<$results->count(); $j++){
if ($dataset->label($i) == array_keys($results->offsetGet($j))[$i]){
// $results->offsetGet($j) = contains the array above
echo $results->offsetGet($j)[array_keys($results->offsetGet($j))[$i]];
echo "<br>";
}
}
echo "<br>";
}
已经是这样编写的代码的结果, 达到表格中的最终结果对我来说真的很困惑。
Label 1
1
0
0
Label 2
0
0
1
Label 3
0
1
0
Label 4
0
0
1
Label 5
0
1
0
Label 6
0
1
0
Label 7
1
0
0
Label 8
0
0
1
所以这样想来判断标签是否属于哪个组 因此数组键为 0.1,2 以指定 C1、C2、C3,例如 更准确地说,每个标签的值 1 来确定组所属的位置;每个标签的值为 0 表示不是该组的成员。
0 => 'Label 1' => 1 // then it is a member of C1, and if
0 => 'Label 2' => 0 // is not a member of C1;
1 => 'Label 3' => 1 // then it is a member of C2
2 => 'Label 2' => 1 // and now label 2 is a member of C3
[
0 => [
'Label 1' => 1, // member C1
'Label 2' => 0,
'Label 3' => 0,
. . .
],
1 => [
'Label 1' => 0,
'Label 2' => 0,
'Label 3' => 1, // member C2
...
],
2 => [
'Label 1' => 0,
'Label 2' => 1, // member C3
'Label 3' => 0,
...
]
]
【问题讨论】:
-
所以每个标签只能分配给一个组?您有没有尝试任何东西可以向我们展示?
-
根据您提供给我们的数据,我们不清楚输出应该是什么。你也说你被你的循环卡住了,但没有循环..
-
我已经更新了我的问题,希望你能理解并帮助我
-
您给定的数组与所需的输出不一致:
Label 2 => C3,其中数组中没有Label 2 => 2。所以要么调整你的桌子或阵列。 -
啊,现在我明白了。 Data 数组的键也是 Group 数组的键。如果标签在 Data 数组中设置为
1,则分配组名
标签: php html loops if-statement html-table