如何在PHP wordpress中获取函数代码中预定义的变量值

时间:2011-06-10 05:00:18

标签: php wordpress function variables

所以我有这些:

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的结果为null。如何在函数内获得预定义的$ timeframe值为5?

1 个答案:

答案 0 :(得分:1)

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

或者您将传递$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那样干净,但仍然可以使用。