我試圖根據entry_id
鍵將兩個關聯陣列連接在一起。兩個陣列來自個人數據庫資源,所述第一存儲項的標題,所述第二存儲項的作者,密鑰=>值對如下:如何在基於普通密鑰的PHP中組合兩個數組?
array (
'entry_id' => 1,
'title' => 'Test Entry'
)
array (
'entry_id' => 1,
'author_id' => 2
我試圖實現陣列結構等:
array (
'entry_id' => 1,
'author_id' => 2,
'title' => 'Test Entry'
)
目前,我已經通過循環遍歷每個數組並按照我想要的方式格式化陣列來解決該問題,但我認爲這是一個內存宏。
$entriesArray = array();
foreach ($entryNames as $names) {
foreach ($entryAuthors as $authors) {
if ($names['entry_id'] === $authors['entry_id']) {
$entriesArray[] = array(
'id' => $names['entry_id'],
'title' => $names['title'],
'author_id' => $authors['author_id']
);
}
}
}
我想知道是否有一個更簡單,更少的內存密集型方法呢?
其表達式引擎網站,所以我不能完全肯定,我的SQL查詢: SELECT entry_id,field_id_5 AS title_ie FROM exp_weblog_data WHERE field_id_53 = 「%s的」 和: SELECT entry_id,標題, author_id FROM exp_weblog_titles WHERE entry_id IN(「%s」) 每個查詢都有一個獨特的WHERE子句,我的SQL知識是有限的,我可以將兩個查詢合併爲一個嗎? – 2010-03-22 13:17:51
-1您確定多少「在數據庫級別執行該操作會快得多並且更加簡單。」您是否認爲連接到數據庫,連接兩個或更多表並返回結果會更慢。我強烈建議您閱讀「MySQL高性能」一書,以掌握數據庫和索引。在應用程序級聯接兩個表的速度更快,除此之外,MySQL更快地獲取結果的機會更大,因爲每個查詢都將通過其快速的PRIMARY KEY獲取。如果你想將它緩存在Web應用程序上,它會更理想。 – ALH 2012-07-21 17:57:44