Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Уникальность строк массива

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
imediasun
Отправлено: 16 Декабря, 2013 - 11:19:39
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


Есть массив в котором могут появляться совершенно одинаковые строки, какая функция будет удалять строку из массива если точно такая же строка уже в нем присутствует?
И если вам это интересно можно попробовать такую функцию создать, помогите пожалуйста
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($billboards as $key=>$value){
  3.                         $sales[]=$this->billboards_model->get_join('sales','id_billboard',$value['id_billboard']);
  4. //оставить только уникальные записи по ключу id_billboard,
  5.  
  6.  
  7. }
  8.  

Мне кажется array_unique уберет любые значения которые уже имеются а не строку если по ключу есть повторение

(Отредактировано автором: 16 Декабря, 2013 - 11:21:47)

 
 Top
IllusionMH
Отправлено: 16 Декабря, 2013 - 11:22:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




imediasun, документацию давно по массивам смотрели?
http://www.php.net/manual/ru/ref.array.php

Даже функцию указали нужную, в чем пробелма ее использования? Если кажется что не так - проверяете и смотрите результат, а только потом уже решаете так нужно или нет.

(Отредактировано автором: 16 Декабря, 2013 - 11:29:06)

 
 Top
DelphinPRO
Отправлено: 16 Декабря, 2013 - 12:09:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




imediasun пишет:
если по ключу есть повторение

Ключ в массиве НЕ МОЖЕТ повторяться. в принципе. Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
IllusionMH
Отправлено: 16 Декабря, 2013 - 12:25:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




DelphinPRO, есть подозрение что элементами( а не строками как говорит автор) массива являются массивы. И вот где-то там что-то может повторяться. Подмигивание
 
 Top
DelphinPRO
Отправлено: 16 Декабря, 2013 - 13:02:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




а хрен его знает, imediasun тот еще оратор.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
imediasun
Отправлено: 16 Декабря, 2013 - 22:39:04
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


array_unique вроде подходит, но хотелось бы разложить эту функцию чтобы понять ее, то есть сделать ее перебором массива, поможите? только чтобы если находит во вложенном массиве одинаковое значение в определенном элементе то удаляет эту строку то есть элемент многомерного массива

(Отредактировано автором: 16 Декабря, 2013 - 22:40:39)

 
 Top
Invert
Отправлено: 16 Декабря, 2013 - 22:48:29
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




Что тут понимать? Вот пример:

PHP:
скопировать код в буфер обмена
  1.  
  2. $input = array("a" => "green", "red", "b" => "green", "blue", "red");
  3. $result = array_unique($input);
  4. print_r($result);
  5.  

Результат выполнения данного примера:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. Array
  3. (
  4.     [a] => green
  5.     [0] => red
  6.     [1] => blue
  7. )

Все же понятно. Дали ей свой массив, получили новый без повторений. Или нужно сделать по другому? Не совсем понимаю.

(Отредактировано автором: 16 Декабря, 2013 - 22:49:36)

 
 Top
DelphinPRO
Отправлено: 17 Декабря, 2013 - 00:43:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Invert пишет:
Что тут понимать?
Invert пишет:
Не совсем понимаю.
вот-вот Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
IllusionMH
Отправлено: 17 Декабря, 2013 - 02:03:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




imediasun, функция(которая наверняка написана на сях и имеет некоторые оптимизации) вроде подходит, но давайте перепишем ее на пхп, а то чересчур быстрая.
Тут либо функция дает ожидаемый результат и ничего трогать не нужно, либо подробно описывайте в чем отличие от ожидаемого результата. а еще лучше с примером(где и граничные случаи видны)
 
 Top
Invert
Отправлено: 17 Декабря, 2013 - 03:08:57
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




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

PHP:
скопировать код в буфер обмена
  1. $sales[]=$this->billboards_model->get_join('sales','id_billboard',$value['id_billboard']);


Круче предыдущей строки только эта:
PHP:
скопировать код в буфер обмена
  1. $sl[]=$this->bm->getj($s,$bid,$v['bid'][$arr['bid'][$s[$k]]);


Насколько мне привычней читать и писать так:
PHP:
скопировать код в буфер обмена
  1. $sales[ ] = $this->billboards_model->get_join( 'sales', 'id_billboard', $value[ 'id_billboard' ] );
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB