我在我的插件中有一个function.php文件,我想要一个从DB中的表中获取所有数据然后将其存储在$ data数组中的函数。我的问题是当我在函数文件外调用函数时数组为null,如果我将数据数组转出函数内部然后调用函数数据存在,那么我知道查询是成功的。这是我的代码:
的functions.php
function getCategories() {
$data = array();
global $wpdb;
$data = $wpdb->get_results("SELECT * FROM `metal_work_categories` WHERE 1", ARRAY_N);
}
的index.php
include('functions.php');
getCategories();
var_dump($data);
我还尝试初始化index.php文件中的数据数组并将其传递给函数,实际上只是在黑暗中疯狂刺伤,无济于事:
$data = array();
getCategories($data);
var_dump($data);
答案 0 :(得分:2)
这就是变量范围的工作原理。您需要从函数返回所需的数据,并将其分配给变量。
function getCategories() {
global $wpdb;
return $wpdb->get_results("SELECT * FROM `metal_work_categories` WHERE 1", ARRAY_N);
}
$data = getCategories();
PS:接下来,停止使用全球!