我的php有点生锈,但是这让我很困惑。我用谷歌搜索并阅读了所有可能看起来相关的stackoverflow问题,但这些问题似乎都包含合法的 undefined variable 。这使我相信我的问题是相同的,但是我并没有盯着那些简单的代码,而是将它简化为似乎可以解决任何问题。请有人给我我的工作帽,告诉我我做错了!

<?php
//test for damn undefined variable error

$msgs = "";

function add_msg($msg){
  $msgs .= "<div>$msg</div>";
}
function print_msgs(){
  print $msgs;
}

add_msg("test");
add_msg("test2");
print_msgs();
?>
这给了我以下令人抓狂的输出:

是的,这应该是共享文件,但此刻我已将其剥离为粘贴的内容。有任何想法吗?

最佳答案

它是在全局范围内定义的。如果要使用 global

10-06 00:42