1

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

例子:

$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”……

为什么不给我阵列的东西?

4

2 回答 2

3

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

如果您将数组中的键更改为字符串,那么它应该可以工作:

$test = array("01"=>"Januar",
              "02"=>"Februar",
              "03"=>"März",
              "04"=>"April",
...
于 2013-04-27T09:43:33.877 回答
0

您可以使您的数组更基本一点,如下所示:

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

然后根据你走的路加或减 1。

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

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

这可以更容易使用......所有这些都是根据情况和优先考虑的

于 2013-04-27T09:58:11.687 回答