有没有办法将数组内容分开? Array ( [0] => 1 OPEN ) Array ( [0] => 2 LEAKAGE_LOW_ODD ) Array ( [0] => 3 LEAKAGE_LOW_EVEN )我想把数组内容分成 [1]=>1 [2]=>OPEN [1]=>2 [2]=>LEAKAGE_LOW_ODD象这样类似,请问怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //前提是数据都是样本这么规律,都是空格隔开$arr = array('2 LEAKAGE_LOW_ODD');$arr = array_merge($arr, explode(' ', $arr[0]));print_r($arr); $a1 = array ( '1 OPEN' );$a2 = array ( '2 LEAKAGE_LOW_ODD' );$a3 = array ( '3 LEAKAGE_LOW_EVEN' );function foo($v) { return is_array($v) ? split(' ', current($v)) : split(' ', $v);}print_r(array_map('foo', array($a1, $a2, $a3)));$ar = array ( '1 OPEN', '2 LEAKAGE_LOW_ODD', '3 LEAKAGE_LOW_EVEN' );print_r(array_map('foo', $ar)); <?php$g_ArrOrg = Array( Array( '1 OPEN' ), Array( '2 LEAKAGE_LOW_ODD' ), Array( '3 LEAKAGE_LOW_EVEN' ),);$g_ArrNew = Array();foreach ( $g_ArrOrg as $arr ){ foreach ( $arr as $item ) { if ( ! empty( $item ) && strstr( $item, ' ' ) ) { $g_ArrNew[] = explode( ' ', $item ); } }}print_r( $g_ArrNew );?>运行结果:Array( [0] => Array ( [0] => 1 [1] => OPEN ) [1] => Array ( [0] => 2 [1] => LEAKAGE_LOW_ODD ) [2] => Array ( [0] => 3 [1] => LEAKAGE_LOW_EVEN )) $ar = array ( '1 OPEN', '2 LEAKAGE_LOW_ODD', '3 LEAKAGE_LOW_EVEN' );foreach($ar as $key=>$value){ $key=$value[0]; $value=substr($value,3);} 我的意思可能没说清楚:下面我贴出原数据和代码,最终效果是1=>OPEN 2=>LEAKAGE_LOW_ODD 3=>LEAKAGE_LOW_EVEN 类似这样的格式。原文本:= TEST START : 10/07/04 09:22:41 ** PROGRAM : H524W81D REV. G.01B DEVICE TYPE : MICRON DDR2 STATION 1 STATION 2 00000000 01111111 11122222 22222333 00000000 01111111 11122222 22222333 TNO --------TLBL-------- -12345678-90123456-78901234-56789012-12345678-90123456-78901234-56789012- ---TIME--- 1 OPEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.40S 2 LEAKAGE_LOW_ODD : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S 3 LEAKAGE_LOW_EVEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S 4 LEAKAGE_HIGH_ODD : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.70S 5 LEAKAGE_HIGH_EVEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S 6 LEAKAGE_LOW_VREF : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.70S 7 LEAKAGE_HI_VREF : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S 8 IDD2P : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00SXBIN= 12 , IDD6 measurement 9 IDD6 : **P***** ** ***** ******P* **P***** ******** ******** ******** **P***** : ******** ******** ******** ******** ******** ******** ******** ******** 1.40SIDD6-DCLOP = 3 10 IDD0 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 11 IDD1 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 12 IDD2N : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S 13 IDD2Q : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 14 IDD3P0 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S 15 IDD3P1 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 16 IDD3N : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S 17 IDD4R : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 18 IDD4W : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10SREADID代码:<?phpset_time_limit(0); date_default_timezone_set(PRC);?><?php$TestDataPath = '../testitem/';$mydir=dir($TestDataPath.'/');while($file=$mydir->read()){ if(!(is_dir($TestDataPath.'/'.$file)) AND ereg("TestItems",$file)) { $attr = explode('_',$file); $attrCount = count($attr); if($attrCount == 3) $t_pgm = $attr[0]; $t_pgm_version = $attr[1]; $myfile = file($TestDataPath.$file); $col = explode(" ",trim($myfile[4])); $pgm = $col[3]; $pgm_version = $col[6]; echo $pgm.'<br />'; echo $pgm_version.'<br />'; $no = count($myfile); for($index = 9;$index < $no;$index++) { if(ereg("READID",$myfile[$index])) break; else { preg_match_all('/^\s*\d+\s+\w+\ +/m',$myfile[$index],$r); if(empty($r[0])) { continue; } $data = $r[0]; print_r($data); /* $testdata =print_r($testdata); if($testdata[0] == '') { $testdata = explode("\t",trim($myfile[$index])); } if($testdata[0] != '') { $testdata[1] = $testdata[1] +0; $testdata[0] = $testdata[0] +0; $databin[$testdata[0]][$testdata[1]] ++; echo $testdata[0].'==>'.$testdata[1].' <br>'; } */ } } } }$mydir->close(); ?> //读文件略$fileContent = <<<TEXT= TEST START : 10/07/04 09:22:41 ** PROGRAM : H524W81D REV. G.01B DEVICE TYPE : MICRON DDR2 STATION 1 STATION 2 00000000 01111111 11122222 22222333 00000000 01111111 11122222 22222333 TNO --------TLBL-------- -12345678-90123456-78901234-56789012-12345678-90123456-78901234-56789012- ---TIME--- 1 OPEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.40S 2 LEAKAGE_LOW_ODD : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S 3 LEAKAGE_LOW_EVEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S 4 LEAKAGE_HIGH_ODD : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.70S 5 LEAKAGE_HIGH_EVEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S 6 LEAKAGE_LOW_VREF : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.70S 7 LEAKAGE_HI_VREF : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S 8 IDD2P : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00SXBIN= 12 , IDD6 measurement 9 IDD6 : **P***** ** ***** ******P* **P***** ******** ******** ******** **P***** : ******** ******** ******** ******** ******** ******** ******** ******** 1.40SIDD6-DCLOP = 3 10 IDD0 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 11 IDD1 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 12 IDD2N : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S 13 IDD2Q : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 14 IDD3P0 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S 15 IDD3P1 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 16 IDD3N : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S 17 IDD4R : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S 18 IDD4W : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP : PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10SREADIDTEXT;preg_match_all('/(\d+) ([\w]+)/is', $fileContent, $res);$arr = array();foreach($res[1] AS $k => $v){ $arr[$v] = $res[2][$k];}print_r($arr); 额,不是这样的,不是‘键值=>值’是把数据分为两段,象 1 OPEN 获得 1,OPEN。只是将array获得的值把它们分开来。 没懂…… 这是前面你贴的 “最终效果是1=>OPEN 2=>LEAKAGE_LOW_ODD 3=>LEAKAGE_LOW_EVEN 类似这样的格式”我理解错了,也许别人也会理解错你最终需要什么结果,贴出来看看? Array ( [0] => 1 OPEN ) Array ( [0] => 2 LEAKAGE_LOW_ODD ) Array ( [0] => 3 LEAKAGE_LOW_EVEN )结果类似于:Array ( [0] => 1 [1]=>OPEN ) Array ( [0] => 2 [1] => LEAKAGE_LOW_ODD ) Array ( [0] => 3 [1] => LEAKAGE_LOW_EVEN ) foreach里的这句改成,下面这样子,能满足要求么?$arr[] = array($v, $res[2][$k]);//Array ( [0] => Array ( [0] => 1 [1] => OPEN ) [1] => Array ( [0] => 2 [1] => LEAKAGE_LOW_ODD ) …… 为什么我读程序里是这种结果呢?$no = count($myfile);for($index = 9;$index < $no;$index++) { if(ereg("READID",$myfile[$index])) break; else { preg_match_all('/^\s*\d+\s+\w+\ +/m',$myfile[$index],$r); if(empty($r[0])) { continue; } $testdata = array(); foreach($r[0] AS $k => $v) { $testdata[] = array($v, $r[1][$k]); }print_r($testdata);结果是:Array ( [0] => Array ( [0] => 1 OPEN [1] => ) ) Array ( [0] => Array ( [0] => 2 LEAKAGE_LOW_ODD [1] => ) ) Array ( [0] => Array ( [0] => 3 LEAKAGE_LOW_EVEN [1] => ) ) 我是指我贴的代码里的foreach里的那句改了 哦。是我弄错了。不好意思。 $no = count($myfile); for($index = 9;$index < $no;$index++) { if(ereg("READID",$myfile[$index])) break; else { preg_match_all('/(\d+) ([\w]+)/is',$myfile[$index],$r); if(empty($r[0])) { continue; } $testdata = array(); foreach($r[1] AS $k => $v) { $testdata[] = array($v, $r[2][$k]); } print_r($testdata); 顺便问下,提取出"[0]=>1 [1]=>OPEN"的值怎么提? 如果按我上面贴的代码运行for($i=0,$n=count($arr);$i<$n;$i++){ echo $arr[$i][0];//值 echo $arr[$i][1];//值} 非常感谢!我贴出代码: $no = count($myfile); for($index = 9;$index < $no;$index++) { if(ereg("READID",$myfile[$index])) break; else { preg_match_all('/(\d+) ([\w]+)/is',$myfile[$index],$r); if(empty($r[0])) { continue; } $testdata = array(); foreach($r[1] AS $k => $v) { $testdata[] = array($v, $r[2][$k]); } //print_r($testdata); for($i=0,$n=count($testdata);$i<$n;$i++) { $testitem_no = $testdata[$i][0]; $testitem_info = $testdata[$i][1]; echo $testitem_no.'==>'.$testitem_info.'<br />'; } } } 关于系统邮箱的问题 解释下 $this->lang->system_msg[$num] 新的读取网页问题???解决不了,寻求帮助 如何读取数据库中的图片,在线等!!!!!!!! 关于表格的问题 小女子 求救!!!一个得到月份天数问题!! 请教一个功能正则表达的写法 怎么去掉"正在检测服务器设置..."?马上结帖,谢谢! php支持access数据库吗? 请问PHP程序出错时,老是出现PHP程序的绝对路径,怎么设置才能避免这种情况? 一个函数调用方面的错误,求解。 请问平台sdk和平台api有什么区别?
//前提是数据都是样本这么规律,都是空格隔开
$arr = array('2 LEAKAGE_LOW_ODD');
$arr = array_merge($arr, explode(' ', $arr[0]));
print_r($arr);
$a2 = array ( '2 LEAKAGE_LOW_ODD' );
$a3 = array ( '3 LEAKAGE_LOW_EVEN' );function foo($v) {
return is_array($v) ? split(' ', current($v)) : split(' ', $v);}print_r(array_map('foo', array($a1, $a2, $a3)));$ar = array (
'1 OPEN',
'2 LEAKAGE_LOW_ODD',
'3 LEAKAGE_LOW_EVEN'
);print_r(array_map('foo', $ar));
<?php$g_ArrOrg = Array
(
Array( '1 OPEN' ),
Array( '2 LEAKAGE_LOW_ODD' ),
Array( '3 LEAKAGE_LOW_EVEN' ),
);
$g_ArrNew = Array();foreach ( $g_ArrOrg as $arr )
{
foreach ( $arr as $item )
{
if ( ! empty( $item ) && strstr( $item, ' ' ) )
{
$g_ArrNew[] = explode( ' ', $item );
}
}
}print_r( $g_ArrNew );?>
运行结果:Array
(
[0] => Array
(
[0] => 1
[1] => OPEN
) [1] => Array
(
[0] => 2
[1] => LEAKAGE_LOW_ODD
) [2] => Array
(
[0] => 3
[1] => LEAKAGE_LOW_EVEN
))
$ar = array (
'1 OPEN',
'2 LEAKAGE_LOW_ODD',
'3 LEAKAGE_LOW_EVEN'
);
foreach($ar as $key=>$value)
{
$key=$value[0];
$value=substr($value,3);
}
下面我贴出原数据和代码,最终效果是1=>OPEN 2=>LEAKAGE_LOW_ODD 3=>LEAKAGE_LOW_EVEN 类似这样的格式。原文本:= TEST START : 10/07/04 09:22:41 ** PROGRAM : H524W81D REV. G.01B DEVICE TYPE : MICRON DDR2 STATION 1 STATION 2
00000000 01111111 11122222 22222333 00000000 01111111 11122222 22222333
TNO --------TLBL-------- -12345678-90123456-78901234-56789012-12345678-90123456-78901234-56789012- ---TIME---
1 OPEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.40S
2 LEAKAGE_LOW_ODD : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
3 LEAKAGE_LOW_EVEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S
4 LEAKAGE_HIGH_ODD : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.70S
5 LEAKAGE_HIGH_EVEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S
6 LEAKAGE_LOW_VREF : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.70S
7 LEAKAGE_HI_VREF : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S
8 IDD2P : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
XBIN= 12 , IDD6 measurement
9 IDD6 : **P***** ** ***** ******P* **P***** ******** ******** ******** **P*****
: ******** ******** ******** ******** ******** ******** ******** ******** 1.40S
IDD6-DCLOP = 3
10 IDD0 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
11 IDD1 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
12 IDD2N : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
13 IDD2Q : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
14 IDD3P0 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
15 IDD3P1 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
16 IDD3N : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
17 IDD4R : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
18 IDD4W : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
READID
代码:<?php
set_time_limit(0);
date_default_timezone_set(PRC);
?>
<?php
$TestDataPath = '../testitem/';
$mydir=dir($TestDataPath.'/');while($file=$mydir->read())
{
if(!(is_dir($TestDataPath.'/'.$file)) AND ereg("TestItems",$file))
{
$attr = explode('_',$file);
$attrCount = count($attr);
if($attrCount == 3)
$t_pgm = $attr[0];
$t_pgm_version = $attr[1];
$myfile = file($TestDataPath.$file);
$col = explode(" ",trim($myfile[4]));
$pgm = $col[3];
$pgm_version = $col[6];
echo $pgm.'<br />';
echo $pgm_version.'<br />';
$no = count($myfile);
for($index = 9;$index < $no;$index++)
{
if(ereg("READID",$myfile[$index]))
break;
else
{
preg_match_all('/^\s*\d+\s+\w+\ +/m',$myfile[$index],$r);
if(empty($r[0]))
{
continue;
}
$data = $r[0];
print_r($data);
/*
$testdata =print_r($testdata);
if($testdata[0] == '')
{
$testdata = explode("\t",trim($myfile[$index]));
}
if($testdata[0] != '')
{
$testdata[1] = $testdata[1] +0;
$testdata[0] = $testdata[0] +0;
$databin[$testdata[0]][$testdata[1]] ++;
echo $testdata[0].'==>'.$testdata[1].' <br>';
}
*/
}
}
}
}
$mydir->close(); ?>
//读文件略
$fileContent = <<<TEXT
= TEST START : 10/07/04 09:22:41 ** PROGRAM : H524W81D REV. G.01B DEVICE TYPE : MICRON DDR2 STATION 1 STATION 2
00000000 01111111 11122222 22222333 00000000 01111111 11122222 22222333
TNO --------TLBL-------- -12345678-90123456-78901234-56789012-12345678-90123456-78901234-56789012- ---TIME---
1 OPEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.40S
2 LEAKAGE_LOW_ODD : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
3 LEAKAGE_LOW_EVEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S
4 LEAKAGE_HIGH_ODD : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.70S
5 LEAKAGE_HIGH_EVEN : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S
6 LEAKAGE_LOW_VREF : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.70S
7 LEAKAGE_HI_VREF : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 0.80S
8 IDD2P : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
XBIN= 12 , IDD6 measurement
9 IDD6 : **P***** ** ***** ******P* **P***** ******** ******** ******** **P*****
: ******** ******** ******** ******** ******** ******** ******** ******** 1.40S
IDD6-DCLOP = 3
10 IDD0 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
11 IDD1 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
12 IDD2N : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
13 IDD2Q : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
14 IDD3P0 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
15 IDD3P1 : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
16 IDD3N : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
17 IDD4R : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.00S
18 IDD4W : PPPPPPPP PP PPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP
: PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP 1.10S
READID
TEXT;
preg_match_all('/(\d+) ([\w]+)/is', $fileContent, $res);
$arr = array();
foreach($res[1] AS $k => $v)
{
$arr[$v] = $res[2][$k];
}
print_r($arr);
是把数据分为两段,象 1 OPEN 获得 1,OPEN。只是将array获得的值把它们分开来。
Array ( [0] => 1 [1]=>OPEN ) Array ( [0] => 2 [1] => LEAKAGE_LOW_ODD ) Array ( [0] => 3 [1] => LEAKAGE_LOW_EVEN )
//Array ( [0] => Array ( [0] => 1 [1] => OPEN ) [1] => Array ( [0] => 2 [1] => LEAKAGE_LOW_ODD ) ……
for($index = 9;$index < $no;$index++)
{
if(ereg("READID",$myfile[$index]))
break;
else
{
preg_match_all('/^\s*\d+\s+\w+\ +/m',$myfile[$index],$r);
if(empty($r[0]))
{
continue;
}
$testdata = array();
foreach($r[0] AS $k => $v)
{
$testdata[] = array($v, $r[1][$k]);
}
print_r($testdata);
结果是:Array ( [0] => Array ( [0] => 1 OPEN [1] => ) ) Array ( [0] => Array ( [0] => 2 LEAKAGE_LOW_ODD [1] => ) ) Array ( [0] => Array ( [0] => 3 LEAKAGE_LOW_EVEN [1] => ) )
for($index = 9;$index < $no;$index++)
{
if(ereg("READID",$myfile[$index]))
break;
else
{
preg_match_all('/(\d+) ([\w]+)/is',$myfile[$index],$r);
if(empty($r[0]))
{
continue;
}
$testdata = array();
foreach($r[1] AS $k => $v)
{
$testdata[] = array($v, $r[2][$k]);
}
print_r($testdata);
{
echo $arr[$i][0];//值
echo $arr[$i][1];//值
}
我贴出代码: $no = count($myfile);
for($index = 9;$index < $no;$index++)
{
if(ereg("READID",$myfile[$index]))
break;
else
{
preg_match_all('/(\d+) ([\w]+)/is',$myfile[$index],$r);
if(empty($r[0]))
{
continue;
}
$testdata = array();
foreach($r[1] AS $k => $v)
{
$testdata[] = array($v, $r[2][$k]);
}
//print_r($testdata);
for($i=0,$n=count($testdata);$i<$n;$i++)
{
$testitem_no = $testdata[$i][0];
$testitem_info = $testdata[$i][1];
echo $testitem_no.'==>'.$testitem_info.'<br />';
}
}
}