Выборка из массва

Статус
В этой теме нельзя размещать новые ответы.

peshkov

Новичок
Выборка из массва

Ваше предложение хотелось бы услышать тоесть увидеть

Смысл такой, нужно выбрать то число, которое ниразу не повторяеться.
я решил этот вопрос так
array_count_values() - не использовать



$mass = array(123,123,213,213,23);

$i=0;
foreach ($mass as $key)
{
$i++;
if ($key==$key)
{
++$a[$key];
}
}


foreach ($a as $key=>$val)
{
if ($val == '1')
{
print $key;
}
}

Заранее спасибо
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума

peshkov

Новичок
меня интересует есть какой нибуть другой вариант решения
который существенно изменить мой код?
 

peshkov

Новичок
Ладно вот так, а что с "foreach ($mass as $key)" я непонял или вы предлагаете использовать FOR?
foreach ($mass as $key)
{
if ($key)
 

berkut

Новичок
охр. а в чём магический смысл индусского ритуала
$i++;
и
if ($key==$key)
-----
фак. опять апаздал. ну шо я за тормоз
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
peshkov
я выделил то, что имелл виду.
Объясни, пожалуйста, зачем ты делаешь IF?
 

peshkov

Новичок
$mass = array(123,123,213,213,23);
foreach ($mass as $key)
{
++$a[$key];
}

foreach ($a as $key=>$val)
{
if ($val == '1')
{
print $key;
}
}

тоесть должно получиться примерно так?

-~{}~ 04.02.08 00:07:

Что скажете про эту часть кода
foreach ($a as $key=>$val)
{
if ($val == '1')
{
print $key;
}
}
 

berkut

Новичок
PHP:
$unique = array();
foreach ($mass as $key) {
    if (isset($unique[$key]))
        unset ($unique[$key]);
    else
        $unique[$key] = '';
}

foreach ($unique as $k=>$v) 
    echo $k . "\r\n";
 

dimagolov

Новичок
berkut, стыдно... и что будет при нечетном кол-ве вхождений элементов?
делайте массив счетчиков и потом выводите те ключи, у которых значения счетчика 1. что тут еще выдумать можно?
 

zerkms

TDD infected
Команда форума
[...]

-~{}~ 04.02.08 10:21:

array_count_values() - не использовать
в такой (глупой) постановке вопроса - проще всего отсортировать массив и затем уже по нему пройтись
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху