Php 带有逗号分隔符的foreach循环导致错误

Php 带有逗号分隔符的foreach循环导致错误,php,zend-framework,socialengine,Php,Zend Framework,Socialengine,我正在我的网站上实现jplayer,需要用php生成播放列表。我基本上已经解决了逗号分隔的问题,但是我用来获取歌曲url和歌曲标题的调用导致了php错误,我不太确定我做错了什么。我正在使用社交引擎,这是zend的一个扩展。我通常能够使用和生成mp3标题和url,而不会在for each循环中出现问题。我的代码在下面,有人能告诉我正确的方向吗 <?php $count = 0; foreach( $songs as $song => $item): if( !empty($so

我正在我的网站上实现jplayer,需要用php生成播放列表。我基本上已经解决了逗号分隔的问题,但是我用来获取歌曲url和歌曲标题的调用导致了php错误,我不太确定我做错了什么。我正在使用社交引擎,这是zend的一个扩展。我通常能够使用
生成mp3标题和url,而不会在for each循环中出现问题。我的代码在下面,有人能告诉我正确的方向吗

<?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; ?>

{
标题:“,
mp3:“
}

编辑:我看到的错误是“对…player.tpl中的非对象调用成员函数getTitle()”

您正在循环中使用
$song
,您应该在循环中使用
$item
$song
只是数组键,因此没有名为
getTitle
的方法,而
$item
是您的实际对象。

介意告诉我们错误是什么吗?通常
getTitle()
按预期工作。变量$songs来自哪里?你能在foreach循环之前做一个
var\u dump($songs)
吗?你是对的,我困了,把那首歌留了下来,我把它扔掉了,事情似乎又回到了正轨!谢谢oezi。。大多数时候,事情就在我们面前,不是吗!