|
|
|
| здравствуйте,
есть такая задача:
существуют 2 массива разной длины, записи в обоих массивах могут дублироваться, вплоть до полной идентичности.
требуется, из массива B убрать все дублирующиеся записи массива А, а затем объединить их.
проблема заключается в переборе одинаковых записей и их удалении
пример:
<?
if(is_array($this->frs_out) && is_array($this->out))
{
for($z = 0; $z < sizeof($this->out); $z ++)
{
for($i = 0; $i < sizeof($this->frs_out); $i ++)
{
if($this->out[$z]['id'] == $this->frs_out[$i]['id'])
unset($this->out[$z]); // - вот здесь будет происходить offset после удаления найденных совпадений
}
}
$total = array_merge($this->frs_out, $this->out);
}
?>
|
после нахождения совпадения сбивается индекс, массив соответственно зачищается не полностью, вылетают notice...
подскажите как быть.
спасибо. | |
|
|
|
|
|
|
|
для: moonfox
(16.01.2013 в 21:13)
| | Вместо array_merge() просто сложите оба массива
<?php
$total = $this->frs_out + $this->out;
?>
| У вас останутся только уникальные значения. | |
|
|
|
|
|
|
|
для: cheops
(16.01.2013 в 21:17)
| | спасибо. помогло.
аж удивительно.) | |
|
|
|