0
현재 lat.fm api로 앱을 개발하고 있습니다.last.fm api - random/shuffle foreach 루프
last.fm 그룹에서 주간 트랙 목록을 가져 오는 기능이 있습니다.
목표는 앨범 아트 워크를 가져 와서 "gridview"템플릿을 만드는 것입니다.
가 가 내가 주문 last.fm에서 트랙을 randomise보다는 그들 당겨하는 foreach 루프에서 PHP 함수 shuffle을 사용하고 싶습니다그들에게 당신을 제공
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;
}
}
:
아래의 코드는 않습니다 .
당신이 내가 내가 다음과 같은 경고 얻을이 추가 할 때 같이 밖으로 위의 셔플 기능을 주석 havent 한 볼 수 있듯이 :에
Warning: shuffle() expects parameter 1 to be array, object given in
어떤 아이디어 무슨 문제가 될 수 있을까?
건배, 댄
은 $ loopN의 VAR를 교체하려면 즉? – danyo
예, shuffle()의 매개 변수는 배열이어야하며 $ call-> weeklytrackchart-> track이라는 객체를 넣으면 작동하지 않습니다. (array)를 사용하여 단순히 객체를 배열로 변환하면됩니다. –
나는 이것을 시도했지만 전혀 출력하지 않는 것 같습니까? – danyo