【问题标题】:how to get pre-defined value of variable inside function code in PHP wordpress如何在PHP wordpress中的函数代码中获取变量的预定义值
【发布时间】:2011-06-10 05:00:18
【问题描述】:

所以我有这些:

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?

【问题讨论】:

    标签: php wordpress function variables


    【解决方案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;
    }
    

    或者你调用 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 的变体那样干净,但仍然有效。

    【讨论】:

    • 它返回了一个警告:Warning: Missing argument 2 for filter_where() in
    • 如何传递第二个参数?
    猜你喜欢
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多