Как получить предопределенное значение переменной внутри кода функции в PHP WordPress - PullRequest
0 голосов
/ 10 июня 2011

Итак, у меня есть эти данные:

echo ('timeframe1:');echo ($timeframe);

function filter_where($where = '') {
echo ('timeframe2:');echo ($timeframe);
$where .= " AND post_date > '" . date('Y-m-d', strtotime("-$timeframe days")) . "'";
return $where;
}

echo ('timeframe3:');echo ($timeframe);

Результат от этих кодов выше:

timeframe1: 5
timeframe2:
timeframe3: 5

Вопрос в том, как получить значение $ timeframe внутри функции?Как видите, результат отображения $ timeframe внутри функции равен нулю.Как получить предопределенное значение $ timeframe 5 внутри функции?

1 Ответ

1 голос
/ 10 июня 2011

используйте GLOBAL для передачи переменной, которая находится за пределами функции

function filter_where($where = '') {
global $timeframe; // <---- pass it as global
echo ('timeframe2:');echo ($timeframe);
$where .= " AND post_date > '" . date('Y-m-d', strtotime("-$timeframe days")) . "'";
return $where;
}

ИЛИ Вы вызываете pass $timeframe в качестве параметра для вашей функции

function filter_where($where = '', $timeframe ) /* here we pass a variable into function */ {
echo ('timeframe2:');echo ($timeframe);
$where .= " AND post_date > '" . date('Y-m-d', strtotime("-$timeframe days")) . "'";
return $where;
}

вызывайте функцию:

filter_where('', $timeframe);

это не так чисто, как вариант с GLOBAL, но все же работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...