2016-06-16 70 views
-3

我无法从函数中获取值。 虽然我要打印的值,它显示旧值“8”。看来function validateInput()不起作用。php函数无法返回值

$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; 
+1

你想在函数的末尾执行'return $ current_val;'然后执行'$ current_val = validateInput();' – Albzi

+0

在任何时候都不会执行函数*,所以是的,它不会执行任何东西。 – deceze

+0

对不起,先生,我不能让你明白...... – user2980415

回答

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();  

的d $current_val将是你想要的。

+0

谢谢,先生......工作正常......你让我的一天... – user2980415

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; 
+0

其显示...致命错误:调用未定义的函数validateImput()。 – user2980415

+0

@ user2980415错字。输入/输入 – Andreas

+0

对不起先生...不能让你 – user2980415