PHP 中变量的配置引号

Configuration quotes on variables in PHP

我是这个网站的新手(嗨!),我遇到了一个我无法解决的问题。我寻找它,但没有结果......我认为这是一个愚蠢的事情,但我找不到解决方案。

我正在将一个系统 (PHP) 迁移到其他服务器(都是 CentOS),我对 PHP 变量中的引号有疑问:

    Example:
    --------
    $_GET[var]
    $db_reg[assoc]
    $array[value]
    define(NAME,'value')
    etc..

所有情况都可以解决在索引中添加引号的问题,但我有数千个 PHP 文件,每个文件都有数百万行,我无法一一检查...大约需要两个活了半年。

在旧的服务器上,它正常工作,但在新的服务器上,无法识别变量,显示PHP通知:

"Notice: Use of undefined constant XXXX - assumed 'XXXX in..." (ej: $_POST[XXXX])

Apache 或 PHP 中是否有识别或不识别(模糊)变量引号的配置?

两个服务器上的PHP版本是一样的,我查看了php.ini文件,都差不多

我想您需要一些关于变量及其用法(使用数组时)和固定索引结构的信息。

变量的使用:

$array = array('hi', 'you', 'there');
$i = 1;
echo $array[$i]; // -> Works and is **fine** (will output 'you')

// --------------------------------

$array = array('a' => 'hi', 'b' => 'you', 'c' => 'there');
echo $array['a']; // -> Works and is **fine**
// Note: in especially that case **NEVER** use barewords like this: echo $array[a] for >> a << here is expected to be a constant which (mostly) does not exist!
// PHP is so fuzzy that it will mostly interpret around like insane and output you the desired value ('hi' in that case), but that was never meant to be! And should always be prevented. That's the reason for you getting that notice...

// So never do this:
echo $array[a];
// ... if >> a << is NOT a valid and available constant

重要(总结到点):

不带引号的单词和美元被认为是您可能不经常使用的常量。在大多数情况下,您使用引号(如上所述)或实变量(由 $ 标识)作为索引来访问数据 structures/arrays.

嗯,您可以尝试编辑 php.ini 文件:

改变

error_reporting=E_ALL

error_reporting = E_ALL & ~E_NOTICE

这将禁用所有通知,但我不确定这是否会解决您的问题。请尝试让我们知道这是否适合您。