Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Как из массива выбрать только уникальные связки кл
Strannik  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 25 дней
Карма: 0




Добрый вечер.

Есть массив:

array(6) { 
[0]=> array(1) { [2628927]=> string(7) "8250843" }
[1]=> array(1) { [2628927]=> string(7) "8250843" }
[2]=> array(1) { [2783907]=> string(7) "8250843" }
[3]=> array(1) { [2783907]=> string(7) "8250843" }
[4]=> array(1) { [2648250]=> string(7) "8250843" }
[5]=> array(1) { [2628927]=> string(7) "8250843" }
}



Как из этого массива выбрать только уникальные связки ключ=>значение, чтобы получился массив:

array(4) { 
[0]=> array(1) { [2628927]=> string(7) "8250843" }
[1]=> array(1) { [2783907]=> string(7) "8250843" }
[2]=> array(1) { [2648250]=> string(7) "8250843" }
[3]=> array(1) { [2628927]=> string(7) "8250843" }
}


Как такое сделать?

PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kovaldm  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1266
Пользователь №: 24135
На форуме: 6 лет, 2 месяца, 8 дней
Карма: 47




У тебя во втором массиве первый и последний элементы одинаковые, хотя в исходном только 3 уникальных элемента.
$arr = array();
$arr[0] = array(2628927 => "8250843");
$arr[1] = array(2628927 => "8250843");
$arr[2] = array(2783907 => "8250843");
$arr[3] = array(2783907 => "8250843");
$arr[4] = array(2648250 => "8250843");
$arr[5] = array(2628927 => "8250843");

$arr1 = array();

foreach($arr as $a)
{
if(in_array($a, $arr1))
continue;

$arr1[] = $arr[array_search($a, $arr)];
}

var_dump($arr1);


--------------------
sdfcfgvbgmlmknhvdfgctghvbj
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SlavaFr  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1535
Пользователь №: 22453
На форуме: 6 лет, 6 месяцев, 5 дней
Карма: 104




Цитата (kovaldm @ 15.12.2012 - 20:21)
foreach($arr as $a)
{
if(in_array($a, $arr1))
continue;

$arr1[] = $arr[array_search($a, $arr)];
}

а так не пойдет?

foreach($arr as $a)
{
if(!in_array($a, $arr1)){
$arr1[] = $a;
}
}


:)


--------------------
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kovaldm  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1266
Пользователь №: 24135
На форуме: 6 лет, 2 месяца, 8 дней
Карма: 47




Ага, туплю уже, на ночь глядя)


--------------------
sdfcfgvbgmlmknhvdfgctghvbj
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SlavaFr  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1535
Пользователь №: 22453
На форуме: 6 лет, 6 месяцев, 5 дней
Карма: 104




я тоже затупил и еще раз подправил smile.gif


--------------------
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SlavaFr  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1535
Пользователь №: 22453
На форуме: 6 лет, 6 месяцев, 5 дней
Карма: 104




меня в общем чето удивило, что array_unique с этим не справился.


--------------------
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kovaldm  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1266
Пользователь №: 24135
На форуме: 6 лет, 2 месяца, 8 дней
Карма: 47




array_unique() преобразует массивы в строковое представление и только поле этого сравнивает их. Поэтому на выходе получается массив, состоящий из одного элемента.
Цитата
Два элемента считаются одинаковыми в том и только в том случае, если (string) $elem1 === (string) $elem2. Другими словами: если у них одинаковое строковое представление.


--------------------
sdfcfgvbgmlmknhvdfgctghvbj
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 7 лет, 8 месяцев, 25 дней
Карма: 0




Спасибо народ)
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса