2016-10-10 29 views
-1

內獨特的價值觀,我有兩個數組:如何array_push另一個陣列

$DocumentID = array(document-1, document-2, document-3, document-4, 
        document-5, document-4, document-3, document-2); 

$UniqueDocumentID = array(); 

我想$documentid陣列內的唯一對象推$UniqueDocumentID陣列。

我不能使用array_unique(),因爲它複製了其前任陣列的密鑰,並且我想要在$UniqueDocumentID數組內的順序密鑰。

+2

'$ UniqueDocumentID = array_unique($ DocumentID);' ??? – AbraCadaver

+0

首先在'$ DocumentID'中創建一個有效數組 – RiggsFolly

+0

我無法使用array_unique,因爲它複製了其前任數組的**鍵**,並且想要在$ UniqueDocumentID數組中使用順序鍵,這就是爲什麼我需要將對象推入$ UniqueDocumentID數組中以使它們按**鍵**的升序排列。 – UmarAbbasKhan

回答

2

你可以foreach()$DocumentID並檢查當前值在$UniqueDocumentIDin_array()如果不存在添加它。或者使用合適的工具:

$UniqueDocumentID = array_unique($DocumentID); 

您的留言提到想連續鍵:

$UniqueDocumentID = array_values(array_unique($DocumentID)); 

的約長路:

$UniqueDocumentID = array(); 

foreach($DocumentID as $value) { 
    if(!in_array($value, $UniqueDocumentID)) { 
     $UniqueDocumentID[] = $value; 
    } 
} 
+0

非常感謝,這就是我一直在尋找的。 – UmarAbbasKhan