Добрый день.
Нужно вывести только те значения массива, которые повторяются в нем $i раз.
Например
Array (
[0] => 30
[1] => 21
[2] => 161
[3] => 21
[4] => 163
[5] => 21
[6] => 30
[7] => 110
[8] => 111
[9] => 21
[10] => 30
)
для $i=3 вывести Array ([0] => 30 [1] => 21)
для $i=4 вывести Array()
ключи не важны, важны только значения.
Или т.к. массив создается постепенно (количество добавлений новых "порций" значений в массив и есть $i), то можно сравнить первую порцию со второй, оставив только те значения которые пересекаются в обоих массивах.
то есть что то такое (на коленке):
PHP:
скопировать код в буфер обмена
for ... { if... {... $b = ... if(isset($a)... // сравнить ее с $b и оставить только пересекающиеся значения else $a = $b } elseif ... { $b = ... if(isset($a)... // сравнить ее с $b и оставить только пересекающиеся значения else $a = $b } elseif ... { $b = ... if(isset($a)... // сравнить ее с $b и оставить только пересекающиеся значения else $a = $b } elseif ... { $b = ... if(isset($a)... // сравнить ее с $b и оставить только пересекающиеся значения else $a = $b } } // /-for
знаю про array_intersect(), но если $a нет общих пересечений с $b, то функция оставляет $a , а мне нужно, чтобы $a в таком случае тоже выпадала
или же как писал вначале
вот написал, работает, но не велосипед ли это?
(Отредактировано автором: 22 Октября, 2010 - 05:41:48)
|