之前有人声称这是一个重复的问题......(我注意到那些无法回答问题的人会跑去寻找副本,然后报告。)
以下是您要查找的副本: php claims my defined variable is undefined
然而,这并不完全重复。它给了我一个解决方案,但我并不是真的在寻找这个特定的解决方案。
这是我的问题:
Notice: Undefined variable: custom
现在这是我的代码:
$headers = apache_request_headers(); // Request the visitor's headers.
$customheader = "Header: 7ddb6ffab28bb675215a7d6e31cfc759"; //This is what the header should be.
foreach ($headers as $header => $value) {
$custom .= "$header: $value";
}
显然,定义了$ custom。根据另一个问题,它是一个全球性的,应该标记为一个。但它如何成为一个全球性的?我怎样才能成为(非全球)?该脚本工作正常,它仍然显示它应该和正确的行为,但当我打开错误消息时,它只是输出该通知。我想它目前还没有必要的来解决它,但我还是想知道为什么会这样做。
答案 0 :(得分:5)
问题在于:
$custom .= "$header: $value";
您要附加$ custom,但在第一次循环运行之前,$ custom中的值是未定义的。
在循环之前加上$custom = '';
,错误就会消失。
答案 1 :(得分:1)
我没有看到$custom
的初始定义 - 我看到你连接到它,但你永远不会给它一个初始值。
在foreach循环之前插入一行$custom = '';
。