如何使用递归函数获取查询结果?

时间:2019-05-09 06:37:39

标签: php recursion

我有一个电话代码1234,如果匹配,我正在数据库中检查该电话代码以获取其各自的国家名称。如果不匹配,我将返回国家名称和af。我正在从电话代码示例123中删除最后一位数字,然后再次检查是否匹配我将返回国家名称,否则将再次删除最后一位数字,例如12,直到达到1。

function rFunc($val)
{
    if (strlen($val) != 0) {
        $sql = mysql_query("SELECT name from country Where phonecode='$val'LIMIT 1");
        if (mysql_num_rows($sql) > 0) {
            $res  = mysql_fetch_assoc($sql);
            $name = $res['name'];
            return $name;
        } else {
            rFunc(substr($val, 0, -1));
        }
    } else {
        return "N/A";
    }
}
$value = "1234";
$na    = rFunc($value);

1 个答案:

答案 0 :(得分:1)

您只需要在递归函数中添加return。

return rFunc(substr($val,0,-1));