問題:從對象/陣列 提取數據,並使用與來自內部循環生成的唯一密鑰的多維數組表示此數據。模式構建多維數組具有獨特的鍵
我總是發現自己構建多維數組是這樣的:
$final_array = array();
foreach ($table as $row) {
$key = null;
$data = array();
foreach ($row as $col => $val) {
/* Usually some logic goes here that does
some data transformation/concatenation stuff */
if ($col=='my_unique_key_name') {
$key = $val;
}
$data[$col] = $val;
}
if (!is_null($key) {
if (!isset($final_array[$key]) {
$final_array[$key] = array();
}
$final_array[$key][] = $data;
}
}
我不禁在想,如果我經常這樣做是出於習慣,但它與所有的鍵 - 那種感覺的詳細檢查和什麼。有沒有我不使用的本機功能?這可以重構成更簡單的東西,或者我是否過度這個?
您可以加入輸入和輸出的例子的問題..以及這種結構的原因 – 2011-04-28 23:23:03
這是一個很好的問題。當我考慮編寫像這樣的循環時,通常是因爲我需要格式化數據,以便按照特定方式對數組進行過濾或排序,並且需要以某種方式構建數組,以使輕鬆地創建數據。 – 2011-04-29 04:06:22