MySQL=>;PHP关联数组…了解未定义变量错误

MySQL=>;PHP关联数组…了解未定义变量错误,php,mysql,arrays,echo,undefined,Php,Mysql,Arrays,Echo,Undefined,我试图将数据存储在一个数组中,然后随时输出该数组的键。我有一个员工数据表,并且正在成功地使用print\u r打印数组,但无法使用“echo$staff\u data;”执行任何操作。我觉得我离得很近,但它却从我身边溜走了 我有两个职能: function staff_data() { $staff_data = array(); $query = mysql_query("SELECT * FROM `staff`"); while ($row =

我试图将数据存储在一个数组中,然后随时输出该数组的键。我有一个员工数据表,并且正在成功地使用print\u r打印数组,但无法使用“echo$staff\u data;”执行任何操作。我觉得我离得很近,但它却从我身边溜走了

我有两个职能:

function staff_data() {
    $staff_data = array();
    $query = mysql_query("SELECT * FROM `staff`");
    while ($row = mysql_fetch_assoc($query)) {
    $staff_data[] = $row;
    }
}

function output_staff($staff_data) {
return '<ul><li>' . implode('</li><li>', $staff_data) . '</li></ul>';
}
function staff_data(){
$staff_data=array();
$query=mysql\u query(“从'staff`'中选择*”;
while($row=mysql\u fetch\u assoc($query)){
$staff_data[]=$row;
}
}
功能输出\u人员($staff\u数据){
返回“
  • ”。内爆(“
  • ”,$staff\u data)。“
”; }
我没有收到正确的输出。目前我收到以下错误:

注意:未定义变量:第11行C:\xampp\htdocs\projects\etk\internal\staff.php>中的staff_数据

警告:内爆():在C:\xampp\htdocs…第3行中传递的参数无效


它指向我的output_staff函数。有人能给我指出正确的方向吗?

您的功能是如何关联的?您的
staff\u data()
似乎没有返回任何内容(即
null
)。您的
output\u staff()
返回字符串,因此您需要输出它。因此,这应该是:

function staff_data() 
{
    $staff_data = array();
    $query = mysql_query("SELECT * FROM `staff`");
    while ($row = mysql_fetch_assoc($query)) {
       $staff_data[] = $row;
    }
    return $staff_data;
}
//code 

$data = staff_data();
echo output_staff($data);

您在哪里调用
output\u staff()
?看起来您没有向该函数传递数组。当您调用output_staff()时,是否会像这样传入一个变量?输出工作人员(myArray);我认为在第一个函数中缺少一个return,return
$staff\u数据是的,我在我的实际页面中写了这个:echo output\u staff($staff\u data);公平竞争,我什么都不退。我添加了返回值并使用一个变量来存储从staff_data()返回的数组,但是我得到了这个数组到字符串的转换错误,我以前见过这个错误。我以为这就是我的内爆所要处理的。我想在这一点上我不完全理解错误消息。我想补充一点,在$data变量上使用print\r完全有效,正如我们所期望的那样。我正在查找这个字符串到转换错误,我认为问题在于我的output_staff()函数,它试图输出一个字符串,而实际上它在处理数组