2013-05-11 33 views
0

我没有胶水如何解决我的问题。 我想产生这样一个数组:如何在PHP数组中添加动态密钥

$days = array( 
      02=>array(NULL,'request_day'), 
      03=>array(NULL,'request_day'), 
      04=>array(NULL,'request_day'), 
      05=>array(NULL,'request_day'), 
     ); 

我需要这在日历上显示请求天。现在我处理一个我无法生成动态密钥的问题(如上所述,键02/03/04/05)。

我的代码看起来像这样:

$days = array(); 
    $array_framework = array(NULL,'request_day'); 
    foreach ($period as $dt) 
    { 
     echo $dt->format("d"); 
     $blub = $dt->format("d"); 
     $days[] = array($blub=>$array_framework); 
    } 

$期是接连代表两个日期之间的天数组,$咕噜打印出一天。

+2

你试过array_push? – 2013-05-11 21:22:55

+0

丹尼尔是对的,使用array_push,现在你做了3维数组。 – 2013-05-11 21:32:11

+0

我可以使用array_push定义我的密钥吗?! – 2013-05-11 21:33:33

回答

0

我认为这是你想要做的。如果将数组键从字符串(例如03)转换为整数(例如3)时出现问题,则将数组键转换为字符串。

$days = array(); 
$array_framework = array(NULL,'request_day'); 
foreach ($period as $dt) 
{ 
    $days[$dt->format("d")] = $array_framework; 
} 
+0

谢谢,但这并不真正有效。它产生Array([04] => Array([0] => [1] => request_day)[05] => Array([0] => [1] => request_day)[06] => Array [0] => [1] => request_day)[07] => Array([0] => [1] => request_day))' – 2013-05-11 22:00:41

+0

这就是你想要的。您可以忽略子数组中的0和1键。 – 2013-05-11 22:03:38

+0

验证在声明它后在行中添加'print_r($ array_framework)'。 – 2013-05-11 22:05:50

1

删除$days[] = array($blub=>$array_framework);及用途:

$days[$blub] = $array_framework; 
+0

谢谢,但这并不真正有效。它会产生Array([04] => Array([0] => Array([0] => [1] => request_day))[05] => Array([0] => Array([0] = > [1] => request_day))[06] => Array([0] => Array([0] => [1] => request_day))[07] => Array([0] => Array [0] => [1] => request_day)))' – 2013-05-11 22:01:13

+0

查看更新的答案... – Baba 2013-05-11 22:04:28

+0

好的谢谢。该数组现在应该是什么,但结果并不如预期的那样......但这不是数组的错 – 2013-05-11 22:19:33