从函数

时间:2015-12-01 20:35:19

标签: php mysql wordpress

我正在做三个几乎相同的MySQL查询,我正在寻找创建一个函数来处理这三个变体,而不是重复整个代码块三次。我试图传递给函数的变量是包含查询结果的数组。

我的PHP代码,超简化:

function list_comments( $query ) {
     echo '<p>' . $query->Comment . '</p>';
}

$theQuery = $wpdb->get_results("SELECT * FROM mytable WHERE Ny = 1 ORDER BY UserID, Date DESC");

list_comments( $theQuery );

我已经尝试使用变量变量在函数内部重新创建变量名,我尝试返回结果而不是回显它,我尝试使用动态方法在函数内创建变量名; ${$query}。但是一切都给了我相同的结果:

  

警告:http_build_query():参数1应为Array或   宾语。给出的值不正确   C:*** \ WWW \ WP_的 * \可湿性粉剂内容\主题* \包括\管理员_ *** PHP   在第41行

作为第41行引用的行将是上面的行function list_comments( $query ) {

有没有办法从函数中访问$theQuery - 数组,或者在评估函数之前将值返回到函数的调用位置?

1 个答案:

答案 0 :(得分:0)

您定义的方法http_build_query中的参数应该是一种类型的数组或对象,显然它正在接收除此之外的其他内容。为了修复错误,你应该发布你调用方法的代码片段(C: \ www \ wp _ \ wp-content \ themes * \ includes \ admin_ *第41行 .php)所以我们可以看一下。

另请注意,您的方法list_comments()参数错误,其中theQuery应为$theQuery