2012-08-26 49 views
0

我正在實現我的網站上的jplayer,並且需要在php中生成播放列表。我幾乎得到了逗號分隔,但我用來獲取我的歌曲網址和歌名的電話正在導致PHP錯誤,我不太確定我做錯了什麼。我使用社交引擎的一個擴展zend。我通常能夠使用<?php echo $this->string()->truncate($song->getTitle(), 50) ?><?php $current_url = explode('?', $song->getFilePath()); echo $current_url[0]; ?>生成我的mp3標題和網址,而不會在每個循環中出現問題。我的代碼在下面,有人可以指出我正確的方向嗎?用逗號分隔符導致錯誤的foreach循環

<?php 
    $count = 0; 
    foreach($songs as $song => $item): if(!empty($song)): ?> 
    <?php if ($count) { print ", "; } $count++; ?> 

{ 

    title:"<?php echo $this->string()->truncate($song->getTitle(), 50) ?>", 

    mp3:"<?php $current_url = explode('?', $song->getFilePath()); 
echo $current_url[0]; ?>" 

} 
<?php endif; endforeach; ?> 

編輯:錯誤IM看到的是「調用一個成員函數的getTitle()非對象... player.tpl的」

+0

介意告訴我們錯誤是什麼? – deceze

+0

通常'getTitle()'按預期工作。 –

+0

變量$歌曲來自哪裏?你可以在foreach循環之前做一個'var_dump($ songs)'嗎? – Dan

回答

2

你使用$song你的循環,其中的內你應該使用$item$song只是數組鍵,所以沒有方法調用getTitle,而$item是您的實際對象。

+0

你說得對,我很困,把這首歌當作樂曲,我擺脫了這一切,事情似乎又回到了正軌!謝謝oezi ..大部分時間都是在我們面前的事情不是它! –