PHP数组[$ var]不起作用

时间:2013-04-27 09:41:46

标签: php arrays variables

我有一个简单的数组,我想用$变量调用它们。

示例:

$test = array(01=>"Januar",
              02=>"Februar",
              03=>"März",
              04=>"April",
              05=>"Mai",
              06=>"Juni",
              07=>"Juli",
              08=>"August",
              09=>"September",
              10=>"Oktober",
              11=>"November",
              12=>"Dezember");

$monat = strftime("%m",$timestamp);

所以在$ monat中就像“04”......然后我调用我的数组:

echo $test[$monat];

但没有任何反应......我不明白为什么......当我打电话时

echo $monat; 

告诉我“04”,“03”......

为什么没有给我一些数组?

2 个答案:

答案 0 :(得分:3)

您的问题是strftime("%m",$timestamp);返回一个字符串(因此str中的strftime),而数组中的键都是数字。

如果将数组中的键更改为字符串,则它应该起作用:

$test = array("01"=>"Januar",
              "02"=>"Februar",
              "03"=>"März",
              "04"=>"April",
...

答案 1 :(得分:0)

你可以使你的数组​​更基本,如下:

$test = array('January', 'February', 'March');

然后根据你去的方式加1或减1。

ASGM有正确的想法,除了我会走另一条路:

$test = array("January" => "04");

这可以更容易使用...所有真正的情境和优惠