【问题标题】:Echo an Array Key.. how?回显一个数组键..如何?
【发布时间】:2012-04-27 20:21:46
【问题描述】:

我希望将我的数组键的值回显到此控制器的视图中。我无法完全弄清楚。因此,对于第一个提要,我想将 mmafighting 回显到视图中。然后它将遍历其余部分。

这是我的控制器代码:

function index()
{
$this->load->library('simplepie');
       $feeds = array('mmafighting' => 'http://www.mmafighting.com/rss/current',
                    'bbc' => 'http://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml',
                    'bloodyelbow' => 'http://www.bloodyelbow.com/rss',
                    'ufc' => 'http://www.ufc.com/rss/news',
                    'hackernews' => 'http://news.ycombinator.com/rss',
                    'msnbc' => 'http://www.msn.com/rss/news.aspx',
                    'msnbc2' => 'http://www.msn.com/rss/msnmoney.aspx',
                    'msnbc3' => 'http://www.msn.com/rss/msnshopping_top.aspx'

                 );
    foreach ($feeds as $site=>$url)
    {
        $data['feed'][$site] = new SimplePie();
        $data['feed'][$site]->set_feed_url($url);
        $data['feed'][$site]->set_cache_location(APPPATH.'cache');
        $data['feed'][$site]->set_cache_duration(300);
        $data['feed'][$site]->init();
        $data['feed'][$site]->handle_content_type();
    }
    $this->load->view('feedsview', $data);
}

这是我的查看代码:

<?php
$feedCount = 0; 
$rowCount = 0;
?>
<?php foreach ($feed as $site): ?>

    <?php if ($site->data): ?>
            <div class="feed">
            <h2><?php // echo original array key here ?></h2>
            <ul>
            <?php $items = $site->get_items(0, 5); ?>
            <?php foreach ($items as $item): ?>
                <li><a href="<?php echo $item->get_link(); ?>"><?php echo $item->get_title(); ?></a></li>
            <?php endforeach; ?>
        </ul>
        </div>
        <?php endif; ?>



<?php $feedCount++; ?>
<?php if ($feedCount === 3) {
    echo '<div style="clear:both;">&nbsp;</div>';
    $feedCount = 0;
    $rowCount++;
        if ($rowCount === 2) {
            echo '<div style="width:1000px; margin-bottom:20px;height:100px; border:1px solid #252525; float:left;">images</div>';
            }
    } ?>
    <?php endforeach; ?>

【问题讨论】:

标签: php codeigniter simplepie


【解决方案1】:

我不确定我是否理解,但是这样做呢:

<?php foreach ($feed as $key => $site): ?>

    <?php if ($site->data): ?>
            <div class="feed">
            <h2><?php echo $key ?></h2>
            <ul>

【讨论】:

  • 如果我尝试回显 $key,它会显示未定义的变量。如果我回显 key($site),它只会为每个人说“数据”。
  • key 返回数组指针当前所在的元素的键,在您的情况下,您可能应该执行 key($feed)。您可以尝试打印完整的 $feed 以查看它的外观吗?
  • 如果我做 key($feed) 它为每个提要集返回“bbc”。看起来那是在正确的轨道上。
  • print_r 说了什么?
  • 那么为了调试,你可以尝试在你的控制器中循环$data并回显$key吗?只是看看结果是否正常?如果是,您可以尝试从您的视图中删除所有内容,除了只显示 $key 的同一循环?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 2022-06-22
  • 2015-07-23
  • 2019-08-05
  • 1970-01-01
  • 2023-03-06
  • 2013-10-23
相关资源
最近更新 更多