将值从函数传递到控制器中的另一个函数

时间:2014-12-03 11:27:16

标签: php codeigniter codeigniter-2

我在控制器中有2个功能,

function feed()
{
    $xml = simplexml_load_file('http://localhost/feed.php');

    // pass to other function
    $this->purchased($xml->prices);

    foreach ($xml->prices as $price) {

        echo ' <tr id="'.$price->sign.'"><td class="price">'.$price->wholesale.'</td>';
    }
}

在上面的函数中,我从feed中取一些值并使用jquery将它附加到前端的html中

在下面的功能中我所做的是列出特定用户购买的所有产品。此功能每5秒刷新一次。

function purchased($price)
{
    foreach ($price as $x)
    {
        $retail = $x->retail;
    }
}

我需要做的是将function feed()返回的值输入到购买的函数中进行一些计算..但是当我使用上面的方法时,我得到了下面的错误

  

消息:未定义的变量:价格

     

消息:缺少操作:: purchase()

的参数1

有人可以告诉我如何从prices函数中获取feed并将其与purchased函数一起使用?

1 个答案:

答案 0 :(得分:1)

不确定我是否理解你在做什么以及你想要实现什么,但是......

传递变量仅在调用函数时有效。因此,当您执行 feed()函数时,则调用 purchase()函数传递变量。 purchase()工作,结束,然后脚本返回 feed()函数。

从其他任何地方拨打已购买()都不会为您提供 feed()功能的值。

尝试将功能更改为:

function purchased($price = '')
{
    if (!isset ($price) || empty($price)) {
        $xml = simplexml_load_file('http://localhost/feed.php');
        $price = $xml->prices;
    }
    foreach ($price as $x) {
        $retail = $x->retail;
    }
}