0
的結果我有這樣PHP - 結合循環
error_reporting(E_ALL^(E_NOTICE | E_WARNING));
function multiexplode ($delimiters,$string) {
$ready = str_replace($delimiters, $delimiters[0], $string);
$launch = explode($delimiters[0], $ready);
return $launch;
}
function my_replace($srch, $replace, $subject, $skip=1){
$subject = explode($srch, $subject.' ', $skip+1);
$subject[$skip] = str_replace($srch, $replace, $subject[$skip]);
while (($tmp = array_pop($subject)) == '');
$subject[]=$tmp;
return implode($srch, $subject);
}
function replace_element($str,$search,$replace,$num) {
$num = $num - 1;
$pieces = explode(',',$str);
if($pieces[$num] == $search) {
$pieces[$num] = $replace;
}
return implode(',',$pieces);
}
function returnFormat($template, $subject){
preg_match_all("/\|/", $template, $matches, PREG_OFFSET_CAPTURE);
foreach($matches[0] as $v) $subject = substr_replace($subject, "|", $v[1], 1);
return $subject;
}
$replace = "|";
$pattern = "\|";
$string = "101131110|101113110|";
$data = "1020,0000,2022,1023,1024,1025,1024,1025,0000|1020,0000,2022,1023,1027,1025,1024,1025,0000|";
$char = '3';
$string = str_replace('|', '', $string); $positions = array();
$pos = -1; $b=0;
while (($pos = strpos($string, $char, $pos+1)) !== false) {{
$positions[] = $pos+1; }
$result2 = implode(',', $positions);
$res = explode(',',$result2);
$exp = multiexplode(array(",","|"),$data);
$eyz= my_replace('|', ',', $data, 0);
$z=1; $y=1;
foreach ($res as $val) {
$res2[$z]=$val;
$valz = $res2[$z];
$z++;
}
foreach ($exp as $value) {
$exp2[$y]=$value;
$vals = $exp2[$valz];
$y++;
}
$items = explode(',',$eyz);
$occurences = array_count_values($items);
$st=$occurences[$vals];
$fix=replace_element($eyz,$vals,'JJJJ',$valz);
preg_match_all("/$pattern/", $data, $matches, PREG_OFFSET_CAPTURE);
foreach($matches[0] as $v) $fix = substr_replace($fix, $replace, $v[1], 1);
echo "<br/>RESULT : <br/><font color='green'>".$fix."</font>";
$b++;
}
一個代碼我有這樣
結果1的結果: 1020,0000,2022,1023,JJJJ,1025 ,1024,1025,0000 | 1020,0000,2022,1023,1027,1025,1024,1025,0000 | 結果2: 1020,0000,2022,1023,1024,1025,1024,1025,0000 | 1020,0000,2022,1023,1027,JJJJ,1024,1025,0000 |
如何循環的結果結合起來,所以有這樣的輸出:
1020,0000,2022,1023,JJJJ,1025,1024,1025,0000 | 1020,0000,2022, 1023,1027,JJJJ,1024,1025,0000 |
在此先感謝
問候,
我不想除去上面的任何東西,在的情況下,我想JJJJ在相同的位置 – ivanichi 2013-04-28 23:41:57
合併我已經試過你的語法,但不顯示輸出如上,你能再次告訴我,在此先感謝 – ivanichi 2013-04-28 23:55:59
現在檢查是否有一個JJJJ,並進行合併...也刪除|從爆炸。 – 2013-04-28 23:59:02