2012-08-26 51 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 ..大部分时间都是在我们面前的事情不是它! –