dty5753 2016-06-16 13: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 13: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条)

报告相同问题?

悬赏问题

  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起