微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 url 前缀添加到数组的值 - 为什么要添加两次?

如何解决将 url 前缀添加到数组的值 - 为什么要添加两次?

我目前遇到一个问题,目前无法解释。在我的示例中,我有一系列练习。每个练习都包含一系列级别,其中至少有一个级别(最多为任何级别)。

示例:

{
    "id": 5,"code": "AEE87","title": "Title No One","description": "Description of No One","titleimage": "https://my.host.com/img/exercises/5/AEE87.jpg","levels": [
        {
            "id": 7,"e_id": 5,"lvl": 1,"repeats": 1,"video": "movie_7.mp4"
        },{
            "id": 8,"level": 2,"video": "movie_8.mp4"
        },{
            "id": 10,"level": 3,"video": "movie_10.mp4"
        },{
            "id": 12,"level": 1,"repeats": 2,"video": "movie_12.mp4"
        },{
            "id": 13,"video": "movie_13.mp4"
        },{
            "id": 14,"video": "movie_14.mp4"
        },{
            "id": 15,"repeats": 3,"video": "movie_15.mp4"
        },{
            "id": 16,"video": "movie_16.mp4"
        },{
            "id": 17,"video": "movie_17.mp4"
        }
    ]
},{
    "id": 10,"code": "BC376","title": "Title No Two","description": "Description for No Two","titleimage": "https://my.host.com/img/exercises/10/BC376.jpg","levels": [
        {
            "id": 20,"e_id": 10,"level": 0,"repeats": 0,"video": "movie_20.mp4"
        }
    ]
},

现在我想给每个级别['video']添加一个URL前缀所以我想了

foreach($program->exercises as $exercise) {
    foreach($exercise->levels as $level) {
        $level->video = 'https://my.host.com/videos/'.$level->video;
    }
}

如果练习只有一个级别,这很有效。如果有多个,则url前缀添加两次:

{
            "id": 7,"video": "https://my.host.com/videos/https://my.host.com/videos/movie_7.mp4"
        },"video": "https://my.host.com/videos/https://my.host.com/videos/movie_8.mp4"
        },

我的思维错误在哪里?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。