函数不返回变量

时间:2014-02-12 01:20:29

标签: php

我现在遇到两个功能问题;我试图让一个数组从第一个函数传递到另一个函数 - 但由于某种原因我不能让它工作。

    function getResourceXML($id)
{
    $xml = simplexml_load_file('resources.xml');
    foreach($xml->children()->children() as $children)
    {
        if($children['id'] == $id)
        {
            $resource[] = $children["income"];
            return $resource;
        }
    }   
}
function getResourceMultiplier()
{
    $sql = "SELECT resourceArray FROM starinformation WHERE starOwner = :uid";
    $que = $this->db->prepare($sql);
    $que->bindParam('uid', $this->uid);
    try 
    {
        $que->execute();
        while($row = $que->fetch(PDO::FETCH_BOTH))
        {
            $resource = $this->getResourceXML($row[0]);
            return $resource;
        }
    }
    catch(PDOException $e) {}
}

1 个答案:

答案 0 :(得分:0)

return语句移动到两个函数中的循环}之后,否则只能进行一次循环迭代。此外,在getResourceMultiplier()中,您没有创建数组。你需要(或类似):

$resource[] = $this->getResourceXML($row[0]);