область действия — PHP IF ELSE, не может получить правильные ответы

Я написал функцию PHP для получения выходных, это «$ данных [ ‘проекты’]«не пустой, но он перенаправлен на $end = date("Y-m-d", strtotime('next sunday'));

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

В чем ошибка? благодарю вас

-1

Решение

Вам нужно пройти $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);
0
По вопросам рекламы [email protected]