2014-10-28 37 views
-1

我写PHP函数用于获取周末不能得到正确的答案,这个“$数据[‘项目’]”不是空的,但它重定向到$end = date("Y-m-d", strtotime('next sunday'));PHP的if else问题,

function weekendignSet(){ 
    if(!empty($data['projects'])){ 
     $end = $data['projects'][0]->week_end_day; 
     }else{ 
     if(!empty($_GET['week_ending'])){ 
      $end = $_GET['week_ending']; 
     }else{ 
      $end = date("Y-m-d", strtotime('next sunday')); 
     } 
     } 
     return $end; 
} 

什么是错误?谢谢

+0

尝试用'如果(!isset($数据[ '项目']))',并告诉我们如何去 – 2014-10-28 11:23:21

+1

@AresDraguna'!empty'会自动检查值已设置。 – Fluffeh 2014-10-28 11:23:58

+2

'$ data'不在范围内,并且将始终为空。 – Jim 2014-10-28 11:24:34

回答

0

你需要传递$data运作然后如果(它会检查),否则你总是去在其他条件下尝试

function weekendignSet($data){ 

上呼吁: -

weekendignSet($data); 
0

你的功能需求一个名为“$ data”的输入参数

0

使$data成为一个全局变量,或者将其传递给函数:

global $data; 
$data = array(); 
function weekendignSet(){ 
    global $data; 
    if(!empty($data['projects'])){ 
     $end = $data['projects'][0]->week_end_day; 
     }else{ 
     if(!empty($_GET['week_ending'])){ 
      $end = $_GET['week_ending']; 
     }else{ 
      $end = date("Y-m-d", strtotime('next sunday')); 
     } 
     } 
     return $end; 
} 

$data = array(); 
function weekendignSet($data){ 
    if(!empty($data['projects'])){ 
     $end = $data['projects'][0]->week_end_day; 
     }else{ 
     if(!empty($_GET['week_ending'])){ 
      $end = $_GET['week_ending']; 
     }else{ 
      $end = date("Y-m-d", strtotime('next sunday')); 
     } 
     } 
     return $end; 
} 
weekendignSet($data);