Перебор масива

fiableinua

Новичок
Здравствуйте уважаемые форумчане. Помоги пожалуйста, не как не могу сообразить, как правильно разделить данный массив на подмасивы.

Имею масив

PHP:
[0] => Array (
[start] => 1
[recorded] => 2018-03-10 09:03:23
)
 
[1] => Array(
[start] => 1
[recorded] => 2018-03-10 09:03:43
)
 
[2] => Array(
[start] => 1
[recorded] => 2018-03-10 09:04:03
)
 
[3] => Array(
[start] => 1
[recorded] => 2018-03-10 09:06:54
)
 
[4] => Array(
[start] => 0
[recorded] => 2018-03-10 09:07:15
)
 
[5] => Array(
[start] => 0
[recorded] => 2018-03-10 09:07:35
)
 
[6] => Array(
[start] => 0
[recorded] => 2018-03-10 09:07:55
)
 
[7] => Array(
[start] => 1
[recorded] => 2018-03-10 09:08:15
)
 
[8] => Array(
[start] => 1
[recorded] => 2018-03-10 09:08:36
)
 
[9] => Array(
[start] => 1
[recorded] => 2018-03-10 09:08:56
)
 
[10] => Array(
[start] => 1
[recorded] => 2018-03-10 09:09:17
)
 
[11] => Array(
[start] => 1
[recorded] => 2018-03-10 09:09:37
)
Мне его нужно разбить на интервала, интервал прерывается в том месте, start =>0.
Т.е. в данном случае у меня должно получиться интервалs 0-4 и 7-11.

Спасибо.
 

fixxxer

К.О.
Партнер клуба
Прежде чем писать код, надо правильно поставить задачу.
У тебя во всех элементах start => 0 (если, конечно, это "больше или равно", а не просто стрелочка), при этом, кстати, в [0-3] равен 1, а в [4] равен 0. Как из твоих условий следуют [0-4] и [7-11]? И что делать с [5-6]?
 

fiableinua

Новичок
Прежде чем писать код, надо правильно поставить задачу.
У тебя во всех элементах start => 0 (если, конечно, это "больше или равно", а не просто стрелочка), при этом, кстати, в [0-3] равен 1, а в [4] равен 0. Как из твоих условий следуют [0-4] и [7-11]? И что делать с [5-6]?
У меня не во всех элементах start => 0, оно меняется. Масив хочу получить вот такой

PHP:
[0] => Array (
                  [0] => Array
                             (
                                 [start] => 1
                                 [recorded] => 2018-03-10 09:06:54
                              )
                  [1] => Array
                             (
                                 [start] => 1
                                 [recorded] => 2018-03-10 09:06:54
                              )
                  [2] => Array
                              (
                                 [start] => 1
                                 [recorded] => 2018-03-10 09:06:54
                              )
                    )
                    
[1] => Array (
                  [0] => Array
                             (
                                 [start] => 0
                                 [recorded] => 2018-03-10 09:06:54
                              )
                  [1] => Array
                             (
                                 [start] => 0
                                 [recorded] => 2018-03-10 09:06:54
                              )
                  [2] => Array
                              (
                                 [start] => 0
                                 [recorded] => 2018-03-10 09:06:54
                              )
                    )
                    
[2] => Array (
                  [0] => Array
                             (
                                 [start] => 1
                                 [recorded] => 2018-03-10 09:06:54
                              )
                  [1] => Array
                             (
                                 [start] => 1
                                 [recorded] => 2018-03-10 09:06:54
                              )
                  [2] => Array
                              (
                                 [start] => 1
                                 [recorded] => 2018-03-10 09:06:54
                              )
                    )
 

fixxxer

К.О.
Партнер клуба
Проходишься циклом по исходному массиву, запоминая предыдущий элемент. Если в предыдущем и текущем ['start'] не совпадают, начинаешь сваливать в новую кучку.
 
Сверху