dty5753 2016-06-16 05:25
浏览 28
已采纳

php函数无法返回值[关闭]

I was unable to get a value from a function. While I was going to print the value, its showing the old value "8". It seems function validateInput() is not working.

$current_val = "8";
function validateInput() {
        $db = JFactory::getDbo();
    //$search = $this->item->producer;
    $query = " SELECT * FROM aua8l_djc2_after_reg_page ";
    $db->setQuery($query);
    $result = $db->query();
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
               $curr = $row['type'];
               global $current_val;
                   switch ($curr) {
                    case '1':
                        $current_val = "youtube";
                        return $current_val;
                        //echo $current_val;
                        //return $GLOBALS['current_val'];
                        break;
                    case '2':
                        $current_val = "rdparty";
                        //return $GLOBALS['current_val'];
                        break;
                    case '3':
                        $current_val = "thankyou";
                        //return $GLOBALS['current_val'];
                        break;
                   } 
            }
        }
} 
echo $current_val;

展开全部

  • 写回答

2条回答 默认 最新

  • doumi1912 2016-06-16 05:52
    关注

    Another way of doing it is this:

    $current_val = "8";
    
    function validateInput() {
        $db = JFactory::getDbo();
        $query = " SELECT * FROM aua8l_djc2_after_reg_page ";
        $db->setQuery($query);
        $result = $db->query();
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                $curr = $row['type'];
                global $current_val;
                switch ($curr) {
                    case '1':
                        $current_val = "youtube";
                    break;
                    case '2':
                        $current_val = "rdparty";
                    break;
                    case '3':
                        $current_val = "thankyou";
                    break;
                } 
            }
            return $current_val;
        }
    } 
    

    Now you can do either

    echo validateInput();
    

    or

    $current_val = validateInput();    
    

    and $current_val will be what you want.

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部