Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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/6/multithreading/4.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中的函数中使用常量吗?_Php_Constants - Fatal编程技术网

我可以在PHP中的函数中使用常量吗?

我可以在PHP中的函数中使用常量吗?,php,constants,Php,Constants,可以在PHP函数中使用PHP常量吗 // in a different file DEFINE ('HOST', 'hostname'); DEFINE ('USER', 'username'); DEFINE ('PASSWORD', 'password'); DEFINE ('NAME', 'dbname'); // connecting to database function database() { // using 'global' to define what varia

可以在PHP函数中使用PHP常量吗

// in a different file
DEFINE ('HOST', 'hostname');
DEFINE ('USER', 'username');
DEFINE ('PASSWORD', 'password');
DEFINE ('NAME', 'dbname');

// connecting to database
function database()
{
    // using 'global' to define what variables to allow
    global $connection, HOST, USER, PASSWORD, NAME;
    $connection = new mysqli(HOST, USER, PASSWORD, NAME)
        or die ('Sorry, Cannot Connect');
    return $connection;
}

您不需要在函数中的
global
中声明它们,PHP将它们识别为全局变量

function database()
{
  // using 'global' to define what variables to allow
  global $dbc;
  $connection = new mysqli(HOST, USER, PASSWORD, NAME)
      or die ('Sorry, Cannot Connect');
  return $connection;
}
从php.net:

与超全局一样,常数的范围也是全局的。您可以在脚本中的任何位置访问常量,而不考虑范围。有关作用域的更多信息,请参阅上的手册部分


你至少试过了吗?:)

从:

与超球体一样,a的范围 常数是全局的。您可以访问 脚本中任意位置的常量 不考虑范围


是的,但你不需要称之为“全球”。常数是全局的。如果您得到了意外的T_字符串,期望T_变量作为错误,这是因为它不期望在“global”语句之后看到常量引用。

define()
生成全局常量


为什么要否决新用户?提高措辞技巧是一件事,而让人泄气则是另一回事。不要成为一个讨厌鬼,同意@HerrK,反对票是非常令人沮丧的,有时是不必要的。除此之外,你的常识是,你在为人们的措辞技巧投反对票,我们应该如何对你在“但他需要改进”中的措辞技巧投反对票?似乎没有任何明确的结论表明它们有那么好。只是对你的答案投了赞成票,但我想指出,php将它们视为超全局的。应该是php将它们识别为全局的。