【问题标题】:how to access php defined constant using a $variable as the name of the defined constant如何使用 $variable 作为已定义常量的名称来访问 php 定义的常量
【发布时间】:2014-01-10 16:58:09
【问题描述】:

我有一个使用 define() 定义的变量 我想将该变量的部分名称存储在常规的 php $variable 中, 然后通过动态设置名称来访问该定义的变量。即:

define('xxx_yyy',123);
$a='xxz';
$b='_yyy';


//How to I echo out "123" now?  (without using echo xxx_yyy);
//Something like these (don't work):
echo $a$b;
echo {$a$b};

我唯一能想到的是:

$defined=get_defined_vars();
echo $defined[$a$b];

但这看起来很笨重

【问题讨论】:

  • 哇!为什么?必须有更好的方法——你想在这里实现什么?知道什么是数组吗?
  • 想通过从其他变量中组装变量名来实现访问定义的变量。
  • 我无法想象这是理想方法的场景。
  • 你真的应该研究一下 PHP 数组。您可以让一个数组存储一堆变量并通过键访问它们,其中键是另一个变量。

标签: php


【解决方案1】:
echo constant ( $a . $b );

这是我认为你正在寻找的,因为它是一个常数。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      不是变量,是constant

      echo constant ( $a . $b );
      

      【讨论】:

        【解决方案4】:

        正确的函数是 get_defined_constants() 而不是 get_defined_vars()

        【讨论】:

          【解决方案5】:

          要使 123 回显,请使用:

          echo $a . $b;
          

          另外,define() 使常量不是变量。

          【讨论】:

          • Erm... 这将输出"xxx_yyy",而不是该常量的值。
          • 哎呀,我只是专注于 concat
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-08-18
          • 1970-01-01
          • 2012-01-02
          • 1970-01-01
          • 2016-08-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多