![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| n4yk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.8.2011 Репутация: нет Всего: нет |
Есть массив примерно такого вида, состоящий из ~1000 вложенных массивов с 3мя ключами:
Нужно уникализировать старший массив по значению ключа внутреннего, например убрать повторяющиеся массивы с одинаковым значением ip. (после сортировки по такому критерию должен будет уйти 3й массив). Также нужно при добавлении нового массива, проверять есть ли уже массив с таким же значением ключа ip. Нужно наиболее скоростное и рациональное решение на php5, возможно внесение изменений в структуру всего массива, если это будет рационально. Спасибо. Это сообщение отредактировал(а) n4yk - 17.8.2011, 17:41 |
|||
|
||||
| hunterman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 3.12.2008 Где: Херсон Репутация: нет Всего: нет |
создаешь класс и реализуешь интерфейсы ArrayAccess,IteratorAggregate,Countable
делаешь в нем член класса protected $data; к примеру ну и всё ну и еще один способ использовать класс SplObjectStorage(http://ua.php.net/manual/en/class.splobjectstorage.php) зы если нужна уникальность только по ip к примеру - то можно модифицировать твою структуру и в качестве ключа сделать ip тогда не надо будет проверять на его уникальность. и выборка будет по айпишнику быстрее. Это сообщение отредактировал(а) hunterman - 18.8.2011, 07:29 |
|||
|
||||
| n4yk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.8.2011 Репутация: нет Всего: нет |
Ну вот мне и нужна логика )) я думал выбрать из всего массива все значения ip, засунуть их в отдельный массив и уникализировать через array_unique(), но перебирать весь массив таким способом думаю не очень рационально. с ООП я не очень дружу если честно, не могли бы вы привести небольшой примерчик. Спасибо что откликнулись )) |
|||
|
||||
| Valinur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 21.9.2007 Где: Москва Репутация: 4 Всего: 6 |
А почему нельзя просто ключом сделать IP?
--------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ... |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |