PHP数组顺序问题,按年,月和日排序

时间:2016-09-21 14:24:28

标签: php arrays

我有一个由脚本生成的数组,它有几年作为关键持有不同月份,持有数天。我的问题是订单。这是一个生成的数组:

  {
    "1970": {
        "1": {
            "1": {
                "id": 291,
                "cliente_id": 16,
                "texto": "Maria del Pilar rexistrouse na plataforma, xa se pode facer contacto co usuario por medio da plataforma.",
                "tipo": "Rexistro na plataforma",
                "icono": "flag-checkered",
                "color": "primary",
                "fecha": "0000-00-00",
                "estado": "evento"
            }
        }
    },
    "2015": {
        "12": {
            "3": {
                "estado": "falta",
                "texto": "A pesar de estar anotado na acci\u00f3n <span style='font-style: italic;'>INICIACI\u00d3N AO COACHING<\/span>, non se presentou ou non asistiu as horas m\u00ednimas para superala",
                "tipo": "Faltou a unha acci\u00f3n",
                "icono": "exclamation",
                "color": "danger",
                "fecha": "2015-12-03"
            },
            "21": {
                "id": 2108,
                "cliente_id": 16,
                "texto": "assfghndfgndfgn",
                "tipo": "Onbasdf",
                "icono": "phone",
                "color": "midnightblue",
                "fecha": "2015-12-21",
                "estado": "evento"
            }
        }
    },
    "2016": {
        "1": {
            "31": {
                "estado": "asistencia",
                "texto": "Asistiu e completou satisfactoriamente a acci\u00f3n: <span style='font-style: italic;'>HIXIENE ALIMENTARIA - MANIPULADOR\/A DE ALIMENTOS<\/span>.",
                "tipo": "Asistiu a unha acci\u00f3n",
                "icono": "star",
                "color": "success",
                "fecha": "2016-01-31"
            }
        },
        "3": {
            "16": {
                "estado": "asistencia",
                "texto": "Asistiu e completou satisfactoriamente a acci\u00f3n: <span style='font-style: italic;'>Prueba Adagal<\/span>.",
                "tipo": "Asistiu a unha acci\u00f3n",
                "icono": "star",
                "color": "success",
                "fecha": "2016-03-16"
            }
        },
        "7": {
            "26": {
                "id": 2095,
                "cliente_id": 16,
                "texto": "asdfasdfasdf",
                "tipo": "asdfasdf",
                "icono": "thumb-tack",
                "color": "midnightblue",
                "fecha": "2016-07-26",
                "estado": "evento"
            }
        },
        "8": {
            "21": {
                "id": 2107,
                "cliente_id": 16,
                "texto": "Prueba agosto",
                "tipo": "Prueba agosto 2016",
                "icono": "phone",
                "color": "midnightblue",
                "fecha": "2016-08-21",
                "estado": "evento"
            }
        },
        "6": {
            "3": {
                "estado": "falta",
                "texto": "A pesar de estar anotado na acci\u00f3n <span style='font-style: italic;'>INFORM\u00c1TICA E NOVAS TECNOLOX\u00cdAS <\/span>, non se presentou ou non asistiu as horas m\u00ednimas para superala",
                "tipo": "Faltou a unha acci\u00f3n",
                "icono": "exclamation",
                "color": "danger",
                "fecha": "2016-06-03"
            },
            "6": {
                "estado": "falta",
                "texto": "A pesar de estar anotado na acci\u00f3n <span style='font-style: italic;'>INFORM\u00c1TICA E NOVAS TECNOLOX\u00cdAS <\/span>, non se presentou ou non asistiu as horas m\u00ednimas para superala",
                "tipo": "Faltou a unha acci\u00f3n",
                "icono": "exclamation",
                "color": "danger",
                "fecha": "2016-06-06"
            }
        }
    }
}

这是从数据库中获取数据的生成器:

$aux_time = array("eventos"=>$cliente->eventos,"asistencias"=>$cliente->accionesAsistidas,"faltas"=>$cliente->accionesNoAsistidas);
      foreach ($aux_time["eventos"] as $evento) {
        $evento['estado'] = 'evento';
        $final[intval(Date("Y", strtotime($evento->fecha)))][intval(Date("n", strtotime($evento->fecha)))][intval(Date("j", strtotime($evento->fecha)))] = $evento;
      }
      foreach ($aux_time["asistencias"] as $accion) {
        $aux_evento = array();
        $aux_evento['estado'] = "asistencia";
        //exclamation
        $aux_evento['texto'] = "Asistiu e completou satisfactoriamente a acción: <span style='font-style: italic;'>$accion->nombre</span>.";
        $aux_evento['tipo'] = "Asistiu a unha acción";
        $aux_evento['icono'] = "star";
        $aux_evento['color'] = "success";
        $aux_evento['fecha'] = $accion->fecha_fin;
        $final[intval(Date("Y", strtotime($accion->fecha_fin)))][intval(Date("n", strtotime($accion->fecha_fin)))][intval(Date("j", strtotime($accion->fecha_fin)))] = $aux_evento;
      }
      foreach ($aux_time["faltas"] as $accion) {
        $aux_evento = array();
        $aux_evento['estado'] = "falta";
        $aux_evento['texto'] = "A pesar de estar anotado na acción <span style='font-style: italic;'>$accion->nombre</span>, non se presentou ou non asistiu as horas mínimas para superala";
        $aux_evento['tipo'] = "Faltou a unha acción";
        $aux_evento['icono'] = "exclamation";
        $aux_evento['color'] = "danger";
        $aux_evento['fecha'] = $accion->fecha_fin;
        $final[intval(Date("Y", strtotime($accion->fecha_fin)))][intval(Date("n", strtotime($accion->fecha_fin)))][intval(Date("j", strtotime($accion->fecha_fin)))] = $aux_evento;
      }

我没有设置关联数组,只在某个数字键中插入月份多个数组。

为什么2016年的月份订单为1,3,7,8,6?当我想在前端打印数组时,我不能使用像sort,ksort,array_multisort或其中任何一个的PHP函数来命令它。甚至我使用了intval()函数来强制那些数字键。我做错了什么?

0 个答案:

没有答案