函数始终返回null

时间:2011-04-30 14:18:32

标签: php

我不知道为什么,但我已经创建了一个函数,不知怎的,它永远不会返回任何东西。 它应该返回使用mt_rand()函数生成的随机数。 我修改了代码并尝试在ideone上运行它,结果显示运行时错误,信号11(SIGSEGV)

有人可以告诉我这有什么问题吗?

<?php
    function breedingTree($name, $N, $max) 
    {
        include('config.php');
        if ($N < $max AND $name > 0) 
        {

            $sql = 'SELECT sire, dam
                    FROM '.$prefix.'owned_adoptables
                    WHERE aid = "'.$name.'"';
            $res = mysql_query($sql);
            list($s, $d) = mysql_fetch_row($res);
            if (mt_rand(0,1) === 1) breedingTree($s, $N+1, $max);
            else breedingTree($d, $N+1, $max);

        }
        elseif ($name <= 0)
        {

            if ($N === 0) return mt_rand(1,100);
            elseif ($N === 1) return mt_rand(5,95);
            elseif ($N === 2) return mt_rand(15,85);
            elseif ($N === 3) return mt_rand(25,75);

        }

    }

echo breedingTree(355, 0, 4); // Return nothing
echo breedingTree(0, 0, 4); // Return random number between 1 - 100
?>

1 个答案:

答案 0 :(得分:1)

如果$N不是0,1,2或3,或($N < $max AND $name > 0),或($N >= max AND $name > 0),该怎么办?这些代码路径没有return语句。