比方說,我有一個數組,看起來像這樣:合併相結合的陣列,如果某些鍵/值匹配的數組
Array
(
[0] => Array
(
[id] => 44091
[epid] => 109912002
[makes] => Honda
[models] => Civic
[years] => 2000
[trims] => All
[engines] => 1.6L 1590CC 97Cu. In. l4 GAS SOHC Naturally Aspirated
[notes] =>
)
[1] => Array
(
[id] => 77532
[epid] => 83253884
[makes] => Honda
[models] => Civic
[years] => 2000
[trims] => All
[engines] => 1.6L 1595CC l4 GAS DOHC Naturally Aspirated
[notes] =>
)
[2] => Array
(
[id] => 151086
[epid] => 109956658
[makes] => Honda
[models] => Civic
[years] => 1999
[trims] => All
[engines] => 1.6L 1590CC 97Cu. In. l4 GAS SOHC Naturally Aspirated
[notes] =>
)
)
而且我想以某種方式合併/組/組合無論你怎麼稱呼它,如果具體鍵/值對匹配。
所以我的條件是:
如果讓&模型&年&修剪是一樣的,合併成1個陣列。其他鍵/值,如id/epid/trims/engines/notes不相關,如果可能的話,可以使用/繼承那些匹配條目中的1個。
一旦可能的話我想補充另一個條件也期待這個:
如果讓&模型&年&修剪&發動機是相同的組合爲1個陣列。
也許我很困惑自己,這兩個人都可以使用相同的代碼。
反正在這種情況下,我期望的結果看起來像這樣算賬:
Array
(
[0] => Array
(
[id] => 44091
[epid] => 109912002
[makes] => Honda
[models] => Civic
[years] => 2000
[trims] => All
[engines] => 1.6L 1590CC 97Cu. In. l4 GAS SOHC Naturally Aspirated
[notes] =>
)
[1] => Array
(
[id] => 151086
[epid] => 109956658
[makes] => Honda
[models] => Civic
[years] => 1999
[trims] => All
[engines] => 1.6L 1590CC 97Cu. In. l4 GAS SOHC Naturally Aspirated
[notes] =>
)
)
公告與1999年多年的排列並沒有合併。
我試圖搞亂array_unique,array_flip但無法讓它工作。
如果它很重要我使用PHP 5.6.7。
希望有人知道我在說什麼。
謝謝。
這可能會幫助你http://stackoverflow.com/questions/22001121/php-filter-array-values-and-remove-duplicates-from-multi-dimensional-array – 2015-04-01 17:02:28
這是個好僞代碼:'如果使模型&年份和修剪相同,則合併爲1個數組。其他鍵/值,如id/epid/trims/engines/notes不相關,如果可能的話,可以使用/繼承那些匹配條目中的1個。嘗試寫入PHP。爲了使事情更容易,從一個更小的陣列開始,比如三個車值或者其他東西。然後擴大規模以適應您的全部問題。 – Hektor 2015-04-01 17:03:56
我個人會使用sha1將所需的項目散列在一起(或唯一),然後使用該散列作爲頂級密鑰。然後只是建立一個新的數組哈希他們和在PHP中的鍵的唯一性將照顧其餘的。 – ArtisticPhoenix 2015-04-01 17:07:41