php函数无法返回值

时间:2016-06-16 13:25:57

标签: php

我无法从函数中获取值。 当我打算打印价值时,它会显示旧价值" 8"。似乎函数validateInput()不起作用。

$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 个答案:

答案 0 :(得分:2)

另一种方法是:

$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;
    }
} 

现在你可以做任何一次

echo validateInput();

$current_val = validateInput();    

$current_val将是您想要的。

答案 1 :(得分:1)

$current_val = "8";
$current_val = validateInput($current_val);

function validateInput($current_val) {
    $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;