2016-10-10 2 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 и проверить текущее значение в $UniqueDocumentID с in_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

Смежные вопросы