繁体   English   中英

last.fm API-随机/随机播放foreach循环

[英]last.fm api - random / shuffle foreach loop

我目前正在使用lat.fm api开发一个应用程序。

我有一个函数可以从last.fm组中获取每周曲目列表。

目的是引入专辑插图并制作“ gridview”模板。

下面的代码执行此操作:

public function getWeeklyTrackChartGrid($methodVars) {
        // Check for required variables
        if ( !empty($methodVars['group']) ) {
            $vars = array(
                'method' => 'group.getweeklytrackchart',
                'api_key' => $this->auth->apiKey
            );
            $vars = array_merge($vars, $methodVars);

            if ( $call = $this->apiGetCall($vars) ) {
                $i = 0;


                //shuffle($call->weeklytrackchart->track);

                $loopN = $call->weeklytrackchart->track;


                foreach ($loopN as $track ) {

                    require 'config.php';
                     //if(++$i > $userLimit*2) break;


                     $albumArtS = $tracks['album']['image']['small'] = (string) $track->image[0];
                     $albumArtM = $tracks['album']['image']['small'] = (string) $track->image[1];
                     $albumArtL = $tracks['album']['image']['small'] = (string) $track->image[2];

                     $playCounts = $tracks[$i]['playcount'] = (string) $track->playcount; 

                     ?>


                       <?php if ($playCounts > 1)  { ?>

                       <?php if ($albumArtL)  { ?>

                            <img src="<?php echo $albumArtL; ?>" />

                            <?php } ?>

                       <?php } else { ?>

                       <?php if ($albumArtM)  { ?> 

                            <img src="<?php echo $albumArtM; ?>" />

                            <?php } ?>

                       <?php } ?>



                     <?php if ($albumArtwork == "yes")  { ?>


                        <?php if ($albumArt)  { ?>




                        <?php } }?>



                <?php   $i++;
                }
                return $tracks;
            }
            else {
                return FALSE;
            }
        }
        else {
            // Give a 91 error if incorrect variables are used
            $this->handleError(91, 'You must include a group variable in the call for this method');
            return FALSE;
        }
    }

我想在foreach循环中使用php函数shuffle来随机化音轨,而不是按last.fm给您的顺序拉入它们。

如您所见,我没有在上面评论随机播放功能,当我添加此功能时,我收到以下警告:

Warning: shuffle() expects parameter 1 to be array, object given in 

关于可能是什么问题的任何想法?

干杯,丹

$loopN = (array) $call->weeklytrackchart->track;
shuffle($loopN);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM