Убить повторяющиеся элементы в двумерном массиве

12
[Удален]
#11


$array[0] = array_unique($array[0]);
$array1 = array_intersect(array_diff($array[1], $array[0]), $array[1]);

если не ошибся, должно сработать :)

не проверял.

A0
На сайте с 22.09.2007
Offline
70
#12

PHP>=5.1.0

$array[0]=array_unique($array[0]);

$array[1]=array_intersect_key($array[1],$array[0]);

PHP>=4.0.1

$array[0]=array_unique($array[0]);

reset($array[1]);
while($key=key($array[1]))
{
if(!isset($array[0][$key]))
{
unset($array[1][$key]);
}
next($key);
}
unset($key);
[Удален]
#13

упс, задание не дочитал ))

в общем простая задачка.

A0
На сайте с 22.09.2007
Offline
70
#14

P. S. Не понимаю, какой смысл использовать array_key_exists(), если есть isset($array[$key]), ведь о nullях речь не идет. Не понимаю, зачем использовать foreach() в PHP4, который создает копию значения элемента - память захламлять нечем?

an0nym добавил 27.05.2008 в 02:17

Raul21:
Много букв...

У меня на 38 символов меньше, чем у вас. :)

R2
На сайте с 01.02.2007
Offline
28
#15

an0nym, Не, ну давайте теперь каждую строчку выжимать как половую тряпку,

чтобы ни капли воды не осталось :)

(Блин, конечно, isset...) и вообще гламурненько...

ПС Следующим этапом предлагаю бенчмарк на больших объемах :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий