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]   

> Без описания
Weber
Отправлено: 12 Ноября, 2014 - 15:08:17
Post Id


Частый гость


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


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

[+][+]


Есть массив , в нем еще подмассивы... Не важен порядок каков порядок.
Главное,что в каждом подмассиве присутствует ячейка со временем. Так вот, знаем время...
Нужно выбрать все те подмассивы время в которых выше указанного(сравнивая содержимое ячейки).


Так вот, можно через цикл перебрать. Но я ищу тот способ в котором не нужно будет перебирать через цикл.
Быть может есть какие та предусмотренные, стандартные функции в php. Для таких целей.?
 
 Top
Sail
Отправлено: 12 Ноября, 2014 - 16:17:45
Post Id



Участник


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


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




Weber пишет:
Быть может есть какие та предусмотренные, стандартные функции в php. Для таких целей.?

Разве что array_filter() Закатив глазки
Например:
PHP:
скопировать код в буфер обмена
  1. $a = array(
  2.     array(
  3.         'date' => '2014-01-01',
  4.         'data' => 'some_data_string'
  5.     ),
  6.     array(
  7.         'date' => '2014-05-01',
  8.         'data' => 'some_data_string2'
  9.     ),
  10.     array(
  11.         'date' => '2014-11-01',
  12.         'data' => 'some_data_string3'
  13.     )
  14. );
  15. $date = '2014-04-01';
  16. $index = 'date';
  17. $arr = array_filter($a, function($element) use($date, $index) {return ($element[$index] > $date);});
  18. var_dump("filtered: ", $arr, " original: ", $a);

(Отредактировано автором: 12 Ноября, 2014 - 16:56:07)

 
 Top
Weber
Отправлено: 12 Ноября, 2014 - 17:10:34
Post Id


Частый гость


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


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

[+][+]


Однако Не подскажите пример с использованием данного фильта, мне, что та трудновато дается пока...
Есть пассив,в нем подмассивы. Нужно выбрать только те подмассивы, у которых есть дубляжи(в данном глобальном массиве). Сравнивая 4 ячейки, то есть все 4 ячейки одного подмассива , должны совпадать с ячейками второго подмассива.
В итоге выбрать как первый дубляж, так и второго. Ключ подмассива уникальный, повторяющихся подмассивов не более двух(если все 4 ячейки совпадают).
 
 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