PHP foreach里面的Array

时间:2018-04-16 12:18:08

标签: php

我尝试在数组中使用foreach但是我收到错误

我的PHP代码是:

<?php
      $items = [
            foreach ($model->galleries as $glrThm){

            [
                'url' => Url::home().$glrThm->Gallery_image,
                'src' => Url::home().$glrThm->Gallery_imagethumb,
            ],

        }   
    ];
?>

2 个答案:

答案 0 :(得分:3)

不幸的是,不允许使用该构造/语法。

如果您想使用类似的内容,那么array_map()可能适合您:

$items = array_map( function( $glrThm ){
    return [
        'url' => Url::home().$glrThm->Gallery_image,
        'src' => Url::home().$glrThm->Gallery_imagethumb
    ];
}, $model->galleries );

如果您需要或希望使用foreach(),那么这是正确的语法:

$items = [];

foreach ($model->galleries as $glrThm){
    $items[] = [
        'url' => Url::home().$glrThm->Gallery_image,
        'src' => Url::home().$glrThm->Gallery_imagethumb
    ];
}

答案 1 :(得分:0)

不允许使用该语法。

首先创建你的数组

<?php
$items = [];

然后遍历您选择要转移的项目的其他阵列

foreach ($model->galleries as $glrThm){

    $items[] = ['url' => $glrThm->Gallery_image,
                'src' => $glrThm->Gallery_imagethumb,
               ];

}   
?>