使用逗号分隔符的foreach循环导致错误

时间:2012-08-26 08:48:36

标签: php zend-framework socialengine

我正在我的网站上实现jplayer,需要在php中生成播放列表。我几乎得到了逗号分离,但我用来获取我的歌曲网址和歌曲标题的调用导致php错误,我不太确定我做错了什么。我使用社交引擎是zend的扩展。我通常能够使用<?php echo $this->string()->truncate($song->getTitle(), 50) ?><?php $current_url = explode('?', $song->getFilePath()); echo $current_url[0]; ?>在每个循环中生成我的mp3标题和url而没有任何问题。我的代码在下面,有人能指出我正确的方向吗?

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

编辑:我看到的错误是“在......播放器中的非对象上调用成员函数getTitle()”

1 个答案:

答案 0 :(得分:2)

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