Php 将DB查询添加到$data数组,然后在其他文件WordPress中对其进行迭代

Php 将DB查询添加到$data数组,然后在其他文件WordPress中对其进行迭代,php,wordpress,Php,Wordpress,我正在制作的插件中有一个function.php文件,我想要一个函数,该函数从数据库中的表中获取所有数据,然后将其存储在$data数组中。我的问题是,当我在函数文件外部调用函数时,数组为空,如果我在函数内部转储数据数组,然后调用函数,则数据存在,这样我知道查询成功。这是我的密码: functions.php function getCategories() { $data = array(); global $wpdb; $data = $wpdb->g

我正在制作的插件中有一个function.php文件,我想要一个函数,该函数从数据库中的表中获取所有数据,然后将其存储在$data数组中。我的问题是,当我在函数文件外部调用函数时,数组为空,如果我在函数内部转储数据数组,然后调用函数,则数据存在,这样我知道查询成功。这是我的密码:

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);

这就是变量作用域的工作原理。您需要从函数返回所需的数据,并将其分配给变量

function getCategories() {
   global $wpdb;
   return $wpdb->get_results("SELECT * FROM `metal_work_categories` WHERE 1", ARRAY_N);
}

$data = getCategories();

PS:下一步,停止使用global

谢谢!现在有意义了为什么停止使用global?