Ciao a tutti, quanto tempo...
Ho un problema contro il quale sto sbattendo la testa da stamattina senza venirne a capo...

In pratica da un estrazione in db ottengo un array di questo tipo:

codice:
0 => array:2 [
    0 => "2011"
    1 => "9999"
  ]
  1 => array:2 [
    0 => "2011"
    1 => "2016"
  ]
  2 => array:2 [
    0 => "2011"
    1 => "2013"
  ]
  3 => array:2 [
    0 => "2014"
    1 => "2016"
  ]

Quello di cui ho bisogno, partendo da questi range di dati (9999 significa fine infinita, 0000 inizio indefinito), è di ottenere un altro array con tutti i range ammissibili al suo interno, tipo questo per capirci:

codice:
  0 => array: 2 [
     0 => "2011"
     1 => "2013"
   ]
   1 => array: 2 [
     0 => "2014"
     1 => "2016"
   ]
   2 => array: 2 [
     0 => "2016"
     1 => "9999"
   ]
I dati di cui sopra possono contenere anche gap tra gli anni, anni mancanti e così via e devo estrarre tutti i range ammissibili.
Spero di essermi spiegato, non so proprio da dove cominciare...

Grazie mille!