Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Получить уникальные значения массива
 
 автор: *m*   (12.01.2011 в 15:25)   письмо автору
 
 

Есть массив, например:

<? array (0=>21=>32=>33=>54=>2?>


Нужно, все повторяющиеся числа убрать, что бы получилось так:

<? array (0=>21=>32=>5?>

  Ответить  
 
 автор: neadekvat   (12.01.2011 в 15:32)   письмо автору
 
   для: *m*   (12.01.2011 в 15:25)
 

array_unique, нэ? о.О

  Ответить  
 
 автор: Лена   (12.01.2011 в 15:34)   письмо автору
 
   для: *m*   (12.01.2011 в 15:25)
 

Откуда у вас 2=>5 появилось? У вас такого элемента не было.

  Ответить  
 
 автор: *m*   (12.01.2011 в 15:41)   письмо автору
 
   для: Лена   (12.01.2011 в 15:34)
 

Да это я для примера, смысл в том что нужно привести начальный массив к такому виду.
Впринципе как вариант, сначла найти уникальные значения. Потом полученный массив перезаписать в новый тогда индексы, будут идти по порядку..

  Ответить  
 
 автор: Trianon   (12.01.2011 в 15:47)   письмо автору
 
   для: *m*   (12.01.2011 в 15:41)
 

пример следует приводить так, чтоб люди представляли, чего Вы хотите достичь.
Не чтоб Вы представляли (Вы и так представляете), а чтоб другие люди.

  Ответить  
 
 автор: lightning.say   (12.01.2011 в 15:46)   письмо автору
 
   для: *m*   (12.01.2011 в 15:25)
 

вам уже ответили...

<?php
$input 
= array(0=>21=>32=>33=>54=>2);
$result array_unique($input);
print_r($result);
?> 

  Ответить  
 
 автор: *m*   (12.01.2011 в 15:50)   письмо автору
 
   для: lightning.say   (12.01.2011 в 15:46)
 

обратите внимание на индексы

  Ответить  
 
 автор: lightning.say   (12.01.2011 в 16:11)   письмо автору
 
   для: *m*   (12.01.2011 в 15:50)
 

ну добавьте
array(2) = array(3);

  Ответить  
 
 автор: *m*   (12.01.2011 в 16:27)   письмо автору
 
   для: lightning.say   (12.01.2011 в 16:11)
 

не понимаю что добавить?
делаю так:
<?
$a 
= array (0=>21=>32=>33=>54=>2);
        
print_r($result array_unique($a));
        foreach (
$result as $key => $val)
        
        for(
$i=0$icount($val); $i++)
        {
        
//print $val;
        
$b[] = $val;
        
        }
        print 
"<pre>";
        
print_r($b);
        print 
"</pre>";

?>


но почемуто ошибка..

  Ответить  
 
 автор: neadekvat   (12.01.2011 в 16:33)   письмо автору
 
   для: *m*   (12.01.2011 в 16:27)
 

<?php
$arr 
= array (0=>21=>32=>33=>54=>2);

$arr array_unique($arr);

foreach (
$arr as $val)
    
$tmp[] = $val;

$arr $tmp;
unset(
$tmp);

print_r($arr);

И посмотрите в документации функцию, которая бы приводила ключи в порядок, чтобы не приходилось использовать цикл и дополнительную переменную. Там много функций для массивой, вдруг че.. самого уже тошнит смотреть туда - вчера только перекапывал.

  Ответить  
 
 автор: Trianon   (12.01.2011 в 16:36)   письмо автору
 
   для: neadekvat   (12.01.2011 в 16:33)
 

не будем показывать пальцем, хотя это был слоненок array_values

  Ответить  
 
 автор: neadekvat   (12.01.2011 в 16:39)   письмо автору
 
   для: Trianon   (12.01.2011 в 16:36)
 

Во.. помню что-то с value в названии было :)

Вот и все, задача решается в две функции. А всего-то надо было посмотреть в документации, да..

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования