0
I는 (A는 string
이다 배열의 모든 값)을 데이터 배열을 가지고 여기서 데이터 입력 (http://pastebin.com/H8wv9aJU)배열 요소를 2 dim 배열로 결합 하시겠습니까?
$A = Array
0=>(
[0] => "03"//main
[1] => "04"//sub
[2] => "05"
[3] => "07"
[4] => "03" //main
[5] => "04"//sub
[6] => "05"
[7] => "06"
[8] => "07"
[9] => "04"//sub
[10] => "05"
[11] => "06"
[12] => "07"
[13] => "04"//sub
[14] => "05"
[15] => "07"
[16] => "03" //main
[17] => "04"//sub
[18] => "05"
[19] => "06"
[20] => "07"
[21] => "04"//sub
[22] => "05"
[23] => "06"
[24] => "07"
[25] => "04"//sub
[26] => "05"
[27] => "07"
);
예상 결과 (04과 07 사이의 어떤 요소들이 누락 될 수있다)이다 :
Array
(
[0] => Array // "03"
(
[0] => "030405 07" //because missing 06 see here 2 space
)
[1] => Array // "03"
(
[0] => "0304050607" //concatenate it all together
[1] => "0304050607"//concatenate it all together
[2] => "030405 07"//because missing 06see here 2 space
)
[2] => Array // "03"
(
[0] => "0304050607" //concatenate it all together
[1] => "0304050607" //concatenate it all together
[2] => "030405 07"//because missing 06, see here 2 space
)
)
나는 시도하고있다 :
$r = -1;
$organized_array = array();//array expected result.
foreach($A as $key=>$rec) {
if(substr($rec,0,2) == "03") {
// CHANGE 1
$save = $rec;// saved "03" yo put in child too.
++$r;//inc parent => $r became 0
$j = 0; // child
$organized_array[$r][$j] = str_replace(array("\r", "\n"), "",$rec);
}
else {
//I STUCKED HERE FOR GETTING THE EXPECTED RESULT
if (($j % 3) > 0) $rec = str_replace(array("\r", "\n"), "",$rec);
// CHANGE 2
else if ($j && $j % 3 == 0) $rec = str_replace(array("\r", "\n"), "",$save.$rec);
$organized_array[$r][floor($j/3)] .= str_replace(array("\r", "\n"), "", $rec);
++$j;//increment child
}
}
내가 무슨 일 했나 사람 수 있을까요? 나는이 문제에 대한 솔루션입니다 생각
죄송합니다. 귀하가 제공 한 두 데이터 세트는별로 도움이되지 않습니다. (같은 숫자가 많아서 어디로 가는지 알기가 어렵습니다.) 또 다른 예를 들려 줄 수 있습니까? 숫자의 다른쪽에는 더하기 기호가 표시되지 않습니까? $ k ++가 아니라 ++ k. k. – Ben
어쩌면 더 명확하게 편집했습니다. 감사합니다. – kn3l
이고 값은 03,04,05,06 및 07 일 수 있습니다. – Ben