0
我有一個數據陣列(陣列的所有值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。 – Ben 2011-03-29 08:05:39
現在編輯也許更清楚了,謝謝 – kn3l 2011-03-29 08:08:40
和值只能是03,04,05,06和07? – Ben 2011-03-29 08:14:56