我正在为我的某个网站创建日历,我有一个数组如下。
array(2) {
[2017]=> array(1) {
["01"]=> array(1) {
[0]=> object(stdClass)#5374 (4) {
["ID"]=> string(3) "409"
["data"]=> string(10) "01/01/2017"
["post_title"]=> string(5) "TESTE"
["guid"]=> string(71) "?post_type=todos_os_cursos&p=409"
}
}
}
[2016]=> array(2) {
[10]=> array(2) {
[0]=> object(stdClass)#5974 (4) {
["ID"]=> string(3) "153"
["data"]=> string(10) "19/10/2016"
["post_title"]=> string(23) "Mundi Chef Professional"
["guid"]=> string(71) "?post_type=todos_os_cursos&p=153" }
[1]=> object(stdClass)#5977 (4) {
["ID"]=> string(3) "145"
["data"]=> string(10) "01/10/2016"
["post_title"]=> string(30) "Mundi Confeiteiro Professional"
["guid"]=> string(71) "?post_type=todos_os_cursos&p=145"
}
}
["09"]=> array(4) {
[0]=> object(stdClass)#5978 (4) {
["ID"]=> string(3) "153"
["data"]=> string(10) "30/09/2016"
["post_title"]=> string(23) "Mundi Chef Professional"
["guid"]=> string(71) "?post_type=todos_os_cursos&p=153"
}
}
}
[....]
我需要将其整理为日历。例如。
年份 - 月 - - 这几项 - 月 - - 项目
年[...]
但我没有得到。每次我尝试访问项目时总会遇到同样的问题。注意:未定义的偏移量。
答案 0 :(得分:0)
由于您的问题中缺少正确的代码,我很想在黑暗中进行攻击,并假设当您尝试array("09" => array())
访问$myarr = array(0 => 16, 9 => 12, "09" => 51);
var_dump(09);
var_dump($myarr[09]);
时会导致此错误。这些不会起作用因为09,而且08 = 0。
为什么呢?这是因为当你为0加一个整数时,它不再是基数为10(0-9)的decimal number,而是基数为8(0-7)的Octal number
var_dump(09)
你可以看到我们$myarr[09]
的结果是int(0),因为08和09在八进制数系统中是无效的。所以当我们去$myarr[0]
时,我们实际上是array[9]
,然后我们得到0键下的值。
你的Undefined offset 0通知很可能是因为这个,09 = int(0)所以你试图访问数组中未定义的值。
另外,要重申我的comment,array["09"]
与array[10]
不同,但array["10"]
与$mayarr = array("09"=>22);
var_dump($mayarr);
var_dump($mayarr[9]);
$mayarr = array("09"=>22, 9=>106, 10=> 3, "10"=> 50);
var_dump($mayarr);
var_dump($mayarr[9]);
var_dump($mayarr[10]);
var_dump($mayarr["10"]);
相同。 example
Using Theano backend.
Using gpu device 1: GeForce GTX 770 (CNMeM is disabled, cuDNN 5105)
Epoch 1/10
mbloss 1.00058555603 lr 0.0010000000475
128/10000 [..............................] - ETA: 3s - loss: 1.0006 mbloss 1.00051558018 lr 0.0010000000475
256/10000 [..............................] - ETA: 4s - loss: 1.0006 mbloss 1.00094401836 lr 0.0010000000475
384/10000 [>.............................] - ETA: 4s - loss: 1.0007 mbloss 1.00001847744 lr 0.0010000000475
512/10000 [>.............................] - ETA: 3s - loss: 1.0005 mbloss 1.00019526482 lr 0.0010000000475
640/10000 [>.............................] - ETA: 3s - loss: 1.0005 mbloss 0.999684214592 lr 0.0010000000475
768/10000 [=>............................] - ETA: 3s - loss: 1.0003 mbloss 0.999649345875 lr 0.0010000000475
896/10000 [=>............................] - ETA: 3s - loss: 1.0002 mbloss 1.00126934052 lr 0.0010000000475
1024/10000 [==>...........................] - ETA: 3s - loss: 1.0004 mbloss 1.00039303303 lr 0.0010000000475
1152/10000 [==>...........................] - ETA: 3s - loss: 1.0004 mbloss 1.00083625317 lr 0.0010000000475
1280/10000 [==>...........................] - ETA: 3s - loss: 1.0004 mbloss 1.00036990643 lr 0.0010000000475
1408/10000 [===>..........................] - ETA: 2s - loss: 1.0004 mbloss 0.999625504017 lr 0.0010000000475
1536/10000 [===>..........................] - ETA: 2s - loss: 1.0003 mbloss 1.0005017519 lr 0.0010000000475
1664/10000 [===>..........................] - ETA: 2s - loss: 1.0004 mbloss 0.999049901962 lr 0.0010000000475
1792/10000 [====>.........................] - ETA: 2s - loss: 1.0003 mbloss 0.999758243561 lr 0.0010000000475
1920/10000 [====>.........................] - ETA: 2s - loss: 1.0002 mbloss 0.99894207716 lr 0.0010000000475
2048/10000 [=====>........................] - ETA: 2s - loss: 1.0001 mbloss 1.00113630295 lr 0.0010000000475
2176/10000 [=====>........................] - ETA: 2s - loss: 1.0002 mbloss 0.999107062817 lr 0.0010000000475
如果你要使用数字作为键,你应该真的是一致的,整数或字符串