已知一段数据:
Bin Test Item
7 000000000000-----------------11-1--1-1--1----11---1-1-1-1----1--11-1----------10-111-0---1011------11------11--------------------------------------------------1
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
6 000000000000-----------------01-1--0-0--0----10---0-0-0-0----0--00-0----------01-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
5 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-1----------00-000-0---0000------00------00--------------------------------------------------0其中Test Item是一个1-160长度的字符串,bin的取值范围为1-8。例中bin出现的值为1,5,6,7。bin和Test Item能不能得到类似以下格式:bin1|1|2|3|4|..|160,
bin2|1|2|3|4|..|160,
bin3|1|2|3|4|..|160,
bin4|1|2|3|4|..|160,
bin5|1|2|3|4|..|160,
bin6|1|2|3|4|..|160,
bin7|1|2|3|4|..|160,
bin8|1|2|3|4|..|160,向高手求相应的代码。
Bin Test Item
7 000000000000-----------------11-1--1-1--1----11---1-1-1-1----1--11-1----------10-111-0---1011------11------11--------------------------------------------------1
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
6 000000000000-----------------01-1--0-0--0----10---0-0-0-0----0--00-0----------01-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0
5 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-1----------00-000-0---0000------00------00--------------------------------------------------0其中Test Item是一个1-160长度的字符串,bin的取值范围为1-8。例中bin出现的值为1,5,6,7。bin和Test Item能不能得到类似以下格式:bin1|1|2|3|4|..|160,
bin2|1|2|3|4|..|160,
bin3|1|2|3|4|..|160,
bin4|1|2|3|4|..|160,
bin5|1|2|3|4|..|160,
bin6|1|2|3|4|..|160,
bin7|1|2|3|4|..|160,
bin8|1|2|3|4|..|160,向高手求相应的代码。
2.bin值为1的有那么多行,在最终的格式中只有一行,这个又怎么个处理法呢?
最终bin1对应的串应为
bin1|0|0|0|......|0|
表示bin1在各列数值中,1出现的次数都为0.
如果源数据是在一个文件中的话,那用file() 函数读取这文件。一行返回一个数组。
统计个数的话,可以用substr_count()这个函数。
可能我要用函数将字符串分割成数组,即将test item分成160个项。然后就是求,当bin为多少时,对应的test item 值为1的个数。
例如,当bin为1时,test item 1-160项的值为1的个数都是0。即 bin1|0|0|0|0|...|0 。
$bin1[] = '110000000100-----------------10-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------1';$arr = array();
//字符串直接用bin1[$i]表示在$i位置的字符,统计该位置值为1的个数
for ($i=0;$i<160;$i++) {
$count = 0; //用于计算1出现的次数
foreach ($bin1 as $b1){
if ($b1[$i] == '1') {
$count++;
}
$arr[$i] = $count;
}
}//输出
echo 'bin1';
for ($p=0; $p<160; $p++){
echo "|$arr[$p]";
}
以下供参考。
$a[] = '7 000000000000-----------------11-1--1-1--1----11---1-1-1-1----1--11-1----------10-111-0---1011------11------11--------------------------------------------------1';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '6 000000000000-----------------01-1--0-0--0----10---0-0-0-0----0--00-0----------01-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '5 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-1----------00-000-0---0000------00------00--------------------------------------------------0';foreach($a as $v)
{
$i = 0;
$o = preg_split("/\s+/",$v); if($c[$o[0]])
{
for(;$i<160;$i++)
{
if($o[1][$i] == 1)
{
$c[$o[0]][$i] = (int)$c[$o[0]][$i]+1;
}
}
}
else $c[$o[0]] = $o[1];
}foreach($c as $k=>$v)
{
$s[$k] = "bin{$k}";
for($j=0;$j<160;$j++)
{
$s[$k] .= "|".($v[$j]=='-' ? '0' : $v[$j]);
}
}
echo implode("<br/>",$s);
bin1|1|2|3|4|..|160,
bin2|1|2|3|4|..|160,
bin3|1|2|3|4|..|160,
bin4|1|2|3|4|..|160,
bin5|1|2|3|4|..|160,
bin6|1|2|3|4|..|160,
bin7|1|2|3|4|..|160,
bin8|1|2|3|4|..|160, 这个样子。
bin7|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|1|0|0|1|0|1|0|0|1|0|0|0|0|1|1|0|0|0|1|0|1|0|1|0|1|0|0|0|0|1|0|0|1|1|0|1|0|0|0|0|0|0|0|0|0|0|1|0|0|1|1|1|0|0|0|0|0|1|0|1|1|0|0|0|0|0|0|1|1|0|0|0|0|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
bin1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0
bin6|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0
bin5|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0我是想能不能按照格式输出:不管有没有都一样(可能要预设一个数组)
bin1|......
bin2|......
bin3|......
bin4|......
bin5|......
.....
bin8|......
for($i=1;$i<=160;$i++)
{
$num[] = $i;
}for($n=1;$n<=8;$n++)
{
$format[] = "bin{$n}|".implode("|",$num);
}
echo implode(",<br/>",$format);
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '6 000000000000-----------------01-1--0-0--0----10---0-0-0-0----0--00-0----------01-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '1 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-0----------00-000-0---0000------00------00--------------------------------------------------0';
$a[] = '5 000000000000-----------------00-0--0-0--0----00---0-0-0-0----0--00-1----------00-000-0---0000------00------00--------------------------------------------------0';foreach($a as $v)
{
$i = 0;
$o = preg_split("/\s+/",$v); if($c[$o[0]])
{
for(;$i<160;$i++)
{
if($o[1][$i] == 1)
{
$c[$o[0]][$i] = (int)$c[$o[0]][$i]+1;
}
}
}
else $c[$o[0]] = $o[1];
}for($i=1;$i<=160;$i++)
{
$num[] = 0;
}for($n=1;$n<=8;$n++)
{
$s[$n] = "bin{$n}|".implode("|",$num);
}
foreach($c as $k=>$v)
{
$s[$k] = "bin{$k}";
for($j=0;$j<160;$j++)
{
$s[$k] .= "|".($v[$j]=='-' ? '0' : $v[$j]);
}
}echo implode(",<br/>",$s);
代码应该如何修改?
我的代码部分:
$no = count($myfile);
for($index = 35;$index < $no;$index++)
{
if(ereg("RE-TEST",$myfile[$index]))
break;
else
{
$dutdata =preg_split("/[\s,]+/",trim($myfile[$index]));
if($dutdata[12] == '')
{
$dutdata = explode("\t",trim($myfile[$index]));
//print_r($dutdata);
}
if($dutdata[12] != '')
{
$dutdata[33] = $dutdata[33] +0;
$dutdata[12] = $dutdata[12] +0;
$databin[$dutdata[12]][$dutdata[33]] ++;
//echo $dutdata[12].'==>'.$dutdata[33].'<br>';
}
}
}
for($index = 35;$index < $no;$index++)
{
if(ereg("RE-TEST",$myfile[$index]))
break;
else
{
$dutdata =preg_split("/[\s,]+/",trim($myfile[$index]));
if($dutdata[12] == '')
{
$dutdata = explode("\t",trim($myfile[$index]));
//print_r($dutdata);
}
if($dutdata[12] != '')
{
$dutdata[33] = $dutdata[33] +0;
$dutdata[12] = $dutdata[12] +0;
$databin[$dutdata[12]][$dutdata[33]] ++;
//echo $dutdata[12].'==>'.$dutdata[33].' <br>';
}
}
}
重新贴一下。
你是想求Bin值(第2列),和最后一列的对应关系?
$dutdata[12]和$dutdata[33]是我已经求得的关系。(MUT=>ST)
不是的,应该是$dutdata[33]和$dutdata[34]的关系。我想求得ST和最后一个长串的关系。
$dutdata[12]和$dutdata[33]是我已经求得的关系。(MUT=>ST)
========================================================================
对照主帖,也就是说33列是bin值,34列是Test item?
另外你提供的例子文件P90751300L.OWM,33列并不是MUT,34也不是ST.....这个你是否确认过?
参考例子如下。$no = count($myfile);
for($index = 35;$index < $no;$index++)
{
if(ereg("RE-TEST",$myfile[$index]))
break;
else
{
$dutdata =preg_split("/[\s,]+/",trim($myfile[$index]));
//print_r($dutdata);
//exit;
if($dutdata[12] == '')
{
$dutdata = explode("\t",trim($myfile[$index])); }
if($dutdata[12] != '')
{
$dutdata[33] = $dutdata[33] +0;
$dutdata[12] = $dutdata[12] +0;
$databin[$dutdata[12]][$dutdata[33]] ++;
//echo $dutdata[12].'==>'.$dutdata[33].' <br>';
}
$c[$dutdata[33]] = $dutdata[34];//建立33,34的关系,类似数组$c[1] = '0000000---101010010.....'
}
}
//套用这段代码.
for($i=1;$i<=160;$i++)
{
$num[] = 0;
}for($n=1;$n<=8;$n++)
{
$s[$n] = "bin{$n}|".implode("|",$num);
}
foreach($c as $k=>$v)
{
$s[$k] = "bin{$k}";
for($j=0;$j<160;$j++)
{
$s[$k] .= "|".($v[$j]=='-' ? '0' : $v[$j]);
}
}echo implode(",<br/>",$s);
$c[$dutdata[33]][] = $dutdata[34];//应该这样
然后循环$c数组,把1-160位,各列出现1的次数叠加,再最终生成数组结合套用的代码
bin1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,bin2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,bin3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,bin4|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,bin5|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|1|0|1|0|0|0|0|1|0|0|1|1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,bin6|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|1|0|0|0|0|1|0|0|0|0|0|0|0|1|1|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,bin7|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|1|0|0|1|0|1|0|0|1|0|0|0|0|1|1|0|0|0|1|0|1|0|1|0|1|0|0|0|0|1|0|0|1|1|0|1|0|0|0|0|0|0|0|0|0|0|1|1|0|1|1|1|0|0|0|0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1,bin8|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|1|0|0|1|0|1|0|0|1|0|0|0|0|1|1|0|0|0|1|0|1|0|1|0|1|0|0|0|0|1|0|0|1|1|0|1|0|0|0|0|0|0|0|0|0|0|1|1|0|1|1|0|0|0|0|0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0,bin||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||怎么多了一个bin
$no = count($myfile);
for($index = 35;$index < $no;$index++)
{
if(ereg("RE-TEST",$myfile[$index]))
break;
else
{
$dutdata =preg_split("/[\s,]+/",trim($myfile[$index]));
if($dutdata[12] == '')
{
$dutdata = explode("\t",trim($myfile[$index])); }
if($dutdata[12] != '')
{
$dutdata[33] = $dutdata[33] +0;
$dutdata[12] = $dutdata[12] +0;
$databin[$dutdata[12]][$dutdata[33]] ++;
//echo $dutdata[12].'==>'.$dutdata[33].' <br>';
}
if($dutdata[33] != '')
$c[$dutdata[33]][] = $dutdata[34];//建立33列,34列的关系
}
}
//生成默认bin数组。
for($i=1;$i<=160;$i++)
{
$num[] = 0;
}for($n=1;$n<=8;$n++)
{
$c2[$n] = "bin{$n}|".implode("|",$num);
}
//循环求各个bin求对应的1出现次数
foreach($c as $k=>$v)
{
if(!$c2[$k]) $c2[$k] = array();
$c2[$k] = "bin{$k}|".getOneCount($v);
}
//叠加相同bin,求各列1出现的次数
function getOneCount($arr,$limit=160)
{
for($i=1;$i<=$limit;$i++)
{
$s[$i] = 0;
foreach($arr as $k=>$v)
{
$s[$i] += $v[$i-1];
}
} return implode('|',$s);
}
echo "<pre/>";
print_r($c2);exit;
没有定义。
存成个变量还不简单呀?
最后一行
$test_item = implode("<br/>",$c2);
你copy全了没有?仔细看看30楼
(
[1] => bin1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0
[2] => bin2|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0
[3] => bin3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|8370|0|0|0|0|0|0|0|0|0|0|0|0|0|0
[4] => bin4|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|4|0|2|1|1|4|15|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|16|0|0|0|0|0|0|0|0|0|0|0|0|0|0
[5] => bin5|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|35|1|0|0|0|0|0|0|0|0|0|0|143|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|194|0|0|0|0|0|0|0|0|0|0|0|0|0|0
[6] => bin6|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|1|0|1|1|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0
[7] => bin7|77|239|0|0|0|0|149|0|2|70|91|0|0|0|0|0|0|0|0|0|0|0|0|106|109|111|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|184|258|0|202|0|0|0|0|0|0|232|259|187|235|226|243|230|0|201|170|157|152|0|0|260|260|260|260|0|0|257|234|227|256|211|167|0|0|0|233|0|257|257|257|228|254|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|227|0|231|230|0|0|0|0|0|0|0|0|0|0|232|0|0|0|0|0|0|0|0|0|0|0|0|0|0|229|268|1|0|24|6|0|0|0|0|0|0|0|0|0|0
[8] => bin8|0|0|0|0|0|0|29|0|5|29|17|0|0|0|0|0|0|0|0|0|0|0|0|27|25|30|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|49|77|0|33|0|0|0|0|0|0|69|94|12|18|78|81|64|0|72|56|20|20|0|0|90|90|87|86|0|0|105|81|87|105|67|52|0|0|0|86|0|91|90|90|83|105|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|58|0|71|70|0|0|0|0|0|0|0|0|0|0|70|0|0|0|0|0|0|0|0|0|0|0|0|0|0|79|160|1|0|24|6|0|0|0|0|0|0|0|0|0|0
)
我真的是很怀疑,你到底有没有copy
//叠加相同bin,求各列1出现的次数
function getOneCount($arr,$limit=160)
{
for($i=1;$i<=$limit;$i++)
{
$s[$i] = 0;
foreach($arr as $k=>$v)
{
$s[$i] += $v[$i-1];
}
} return implode('|',$s);
}
这段代码