0
創建數組我有一個數組,看起來像這樣:從陣列在同一陣列中的PHP
Array
(
[0] => Array
(
[LogDate] => Wed , Nov 14 , 2012
[LogIDs] => 1,2
[LogContents] => Hello!,Hello 2...
[LogAuthors] => yan,yan
[LogTimes] => 12:00 AM,12:00 AM
)
[1] => Array
(
[LogDate] => Thu , Nov 15 , 2012
[LogIDs] => 3,4
[LogContents] => Hello world...,Hi world...
[LogAuthors] => jonathan,jonathan
[LogTimes] => 12:00 AM,12:00 AM
)
)
我要重組它看起來像這樣:
Array
(
[0] => Array
(
[LogDate] => Wed , Nov 14 , 2012
[0] => Array
(
[LogIDs] => 1
[LogContents] => Hello!
[LogAuthors] => yan
[LogTimes] => 12:00 AM
)
[1] => Array
(
[LogIDs] => 2
[LogContents] => Hello 2...
[LogAuthors] => yan
[LogTimes] => 12:00 AM
)
)
[1] => Array
(
[LogDate] => Thu , Nov 15 , 2012
[0] => Array
(
[LogIDs] => 3
[LogContents] => Hello world...
[LogAuthors] => jonathan,jonathan
[LogTimes] => 12:00 AM
)
[1] => Array
(
[LogIDs] => 4
[LogContents] => Hi world...
[LogAuthors] => jonathan
[LogTimes] => 12:00 AM
)
)
)
這可能嗎?
我試圖像(更新版工作):
$result = $this->mymodel->fetch_logs(1, 5, 0);
$new_array = array();
$inner_array = array();
$kounter = 0;
foreach($result as $row){
$new_array[] = array(
'LogDate' => $row['LogDate'],
);
$log_ids = explode(',',$row['LogIDs']);
$log_contents = explode(',',$row['LogContents']);
$log_authors = explode(',',$row['LogAuthors']);
$log_times = explode(',',$row['LogTimes']);
$counter = count($log_ids);
for($i=0; $i<$counter; $i++){
$inner_array = array(
'LogID' => $log_ids[$i],
'LogContent' => $log_contents[$i],
'LogAuthor' => $log_authors[$i],
'LogTime' => $log_times[$i]
);
//array_push($new_array, $inner_array);
$new_array[$kounter][$i] = $inner_array;
}
$kounter++;
}
但我推inner_array遠不止[LOGDATE]更高的水平。他們應該在同一級別LogDate。任何想法如何實現這一目標?
感謝您的響應。我也在上面更新了我的代碼,經過一些實驗後,它終於可以工作了。但我認爲我的代碼非常基本。您認爲在處理數百個數據方面哪個更好?我會將您的答案標記爲已接受,但我需要研究您的代碼。再次感謝! –
謝謝。有數百個數據的差異幾乎沒有。我們的代碼有兩個主要區別。你使用'for'循環,並使用'foreach'。 http://stackoverflow.com/questions/3430194/performance-of-for-vs-foreach-in-php進入什麼更快。然後你在一個語句中創建數組,然後我改變每個鍵的值。在我的測試100000記錄你的方式是幾個MS更快 –
感謝您的答覆。這清理了一些東西,特別是你提供的鏈接。 –