显示数组

时间:2016-03-02 13:19:00

标签: php arrays view yii2

您好我想与月份名称做一些链接:

所以在开始的时候,我试图在函数中创建模型中只有几个月的名字,我将它循环到for循环中。但当我试图在我的索引中显示此功能时,我只有一个月的名字(styczeń)。我不知道我犯了什么错误。也许有人可以帮助我?这是我在模型中的功能:

public function getPosts() {
        $month = array(1=>Yii::t('app', 'Styczeń'), Yii::t('app', 'Luty'), Yii::t('app', 'Marzec'), Yii::t('app', 'Kwiecień'), Yii::t('app', 'Maj'), Yii::t('app', 'Czerwiec'), Yii::t('app', 'Lipiec'), Yii::t('app', 'Sierpień'), Yii::t('app', 'Wrzesień'), Yii::t('app', 'Październik'), Yii::t('app', 'Listopad'), Yii::t('app', 'Grudzień'));
        for ($monthNum = 1; $monthNum <= 12; $monthNum++) {
            return $month[$monthNum];
        }
    }

在我看来:

<?= Html::a($blog->getPosts(), Url::to(['index'])) ?>

这只显示我想要显示所有12个月的第一个月份名称。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

您在此处返回一个值:return $month[$monthNum];。在调用$blog->getPosts()后,您的getPosts()会被执行并返回第一个月。它完成了。您不能让函数以这种方式返回多个值。 您可以在函数中构建一个字符串,而不是编写return $month[$monthNum];

$string = '';
for ($monthNum = 1; $monthNum <= 12; $monthNum++) {
    $string .= $month[monthNum];
}
return $string;

你会发现除了这五行之外还有更多工作要做,以获得不错的输出。有更多的方法(也许更好的方法)来获得你想要的东西。