替换数组php中的最后一个元素

时间:2013-06-20 13:18:14

标签: php arrays

这里有一个数组

$item = new rssGenerator_item();
$query_rss = mysql_query("SELECT * FROM `trades` WHERE `app` = '1' ORDER BY `id` DESC LIMIT 10 ")OR die(mysql_error());
while($row_rss = mysql_fetch_array($query_rss)){
    $item->title = $row_rss['unit'];
    $item->description = excerpt($row_rss['message'],30);
    $item->link = 'http://injaa.com/'.$row_rss['link'];
    $item->guid = $row_rss['site'];
    $item->pubDate = RelativeTime($row_rss['tarikh']);
    $rss_channel->items[] = $item;
}
$rss_feed = new rssGenerator_rss();
$rss_feed->encoding = 'UTF-8';
$rss_feed->version = '2.0';
header('Content-Type: text/xml');
echo $rss_feed->createFeed($rss_channel);

在这一行

$rss_channel->items[] = $item;

清除之前的所有值并将最后一个值替换为数组!! 我现在不知道代码在哪里错了?

2 个答案:

答案 0 :(得分:3)

使用

array_push($rss_channel->items, $item);

在顶部(while之前)添加

$rss_channel->items = array();

答案 1 :(得分:0)

虽然@Mr Srinivas的答案更好,但我个人会像这样重写:

$items = array();
while($row_rss = mysqli_fetch_array($query_rss)){
    $items[] = $item;
}
$rss_channel->items = $items;

不可否认,我没有足够的知识来解释为什么这会更好,这就是对我有意义的。