我可以通过 PHP 中的变量将 DEFINED 常量传递给函数吗?

发布于 2024-10-19 17:08:41 字数 264 浏览 2 评论 0原文

我有以下代码:

DEFINE('DEFINEDTESTVAR', 'Hello World');

function callit($callVar) {
  echo "The call is ".$callVar;
}


$passthis = 'DEFINEDTESTVAR';
callit($passthis);

我知道我可以执行 callit(DEFINEDTESTVAR) 但这不是我想要做的。是否可以?

I have the following code:

DEFINE('DEFINEDTESTVAR', 'Hello World');

function callit($callVar) {
  echo "The call is ".$callVar;
}


$passthis = 'DEFINEDTESTVAR';
callit($passthis);

I know I can do callit(DEFINEDTESTVAR) but that's not what I am looking to do. Is it possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

溺ぐ爱和你が 2024-10-26 17:08:41

要么传递常量本身:

$passthis = DEFINEDTESTVAR;

要么通过 constant() 访问它它允许您在未定义的情况下测试 null(对于未定义的常量,按字面意思传递常量会产生具有常量名称的字符串):

$passthis = constant('DEFINEDTESTVAR');

Either pass the constant itself:

$passthis = DEFINEDTESTVAR;

Or access it through constant() which allows you to test for null in case it isn't defined (for undefined constants, passing the constant literally results in a string with the constant name):

$passthis = constant('DEFINEDTESTVAR');
夜光 2024-10-26 17:08:41
define('DEFINEDTESTVAR', 'Hello World'); // you should use define

function callit($callVar) {
  echo "The call is ".$callVar;
}    

$passthis = DEFINEDTESTVAR; // no need to use quotes
callit($passthis);
define('DEFINEDTESTVAR', 'Hello World'); // you should use define

function callit($callVar) {
  echo "The call is ".$callVar;
}    

$passthis = DEFINEDTESTVAR; // no need to use quotes
callit($passthis);
风和你 2024-10-26 17:08:41

您可以使用constant()从字符串中获取常量的值。如果未找到命名常量,它将返回 null。

$passthis = constant('DEFINEDTESTVAR');
callit($passthis);

You can get a constant's value from a string with constant(). It will return null if the named constant is not found.

$passthis = constant('DEFINEDTESTVAR');
callit($passthis);
命比纸薄 2024-10-26 17:08:41
<?php 
DEFINE('DEFINEDTESTVAR', 'Hello World');

function callit($callVar) {
  echo "The call is ".$callVar;
}


$passthis = DEFINEDTESTVAR;
callit($passthis);
<?php 
DEFINE('DEFINEDTESTVAR', 'Hello World');

function callit($callVar) {
  echo "The call is ".$callVar;
}


$passthis = DEFINEDTESTVAR;
callit($passthis);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文