Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中是否有类似于VB中Option Explicit的东西_Php_Variables_Declaration - Fatal编程技术网

PHP中是否有类似于VB中Option Explicit的东西

PHP中是否有类似于VB中Option Explicit的东西,php,variables,declaration,Php,Variables,Declaration,可能重复: 我正在用PHP做一个大项目。在PHP中,不需要声明变量。这给我带来了很多问题 在VisualBasic6中,OptionExplicit语句强制声明变量。PHP中是否有类似的功能?如果打开E_NOTICE错误消息,PHP将告诉您未初始化的变量: ini_set("error_reporting", E_ALL); “未初始化”与“未声明”略有不同,但它应该会给您类似的效果 error_reporting(E_ALL); 尝试使用未定义的变量时引发通知 一个更一般的提示:使用函数

可能重复:

我正在用PHP做一个大项目。在PHP中,不需要声明变量。这给我带来了很多问题


在VisualBasic6中,OptionExplicit语句强制声明变量。PHP中是否有类似的功能?

如果打开E_NOTICE错误消息,PHP将告诉您未初始化的变量:

ini_set("error_reporting", E_ALL);
“未初始化”与“未声明”略有不同,但它应该会给您类似的效果

error_reporting(E_ALL);
尝试使用未定义的变量时引发通知

一个更一般的提示:使用函数而不是全局代码,并使它们变小(最多20行)。由于变量是函数的局部变量,因此忘记或拼错变量名的可能性较小。

当未定义的变量/元素用作右值时,增加变量名只会影响php的行为,如
echo$doesnotexist
但也禁止使用未声明的变量作为左值

Option Explicit On
Dim x As Integer
x = 10
y = 11 ' error, variable is not declared

php中没有类似的选项或配置参数。

+1还值得注意的是,
E\u ALL
不包括
E\u STRICT
。所以我会做
ini\u集(“错误报告”,E\u ALL&E\u STRICT)。也值得注意,;您可以在
php.ini
中设置
error\u reporting
,也可以使用
php\u value
在Apache虚拟主机定义中设置。php5中可能声明了一个关键字,特别是类/成员,但没有。如果在运行时没有运行,那么其中未定义的函数呢?