Tag: 间接

dynamic常量名称在PHP中

我试图dynamic创build一个常量名称,然后得到的价值。 define( CONSTANT_1 , "Some value" ) ; // try to use it dynamically … $constant_number = 1 ; $constant_name = ("CONSTANT_" . $constant_number) ; // try to assign the constant value to a variable… $constant_value = $constant_name; 但是我发现$常量值仍然包含常量的名称,而不是VALUE。 我尝试了第二级间接以及$$constant_name但是,这将使其variables不是一个常量。 有人可以指出这一点吗?

什么是间接扩展? $ {!var *}是什么意思?

我正在阅读“ Bash入门指南 ”。 它说: 如果PARAMETER的第一个字符是感叹号,则Bash使用PARAMETER其余部分形成的variables的值作为variables的名称; 这个variables然后被展开,并且该值被用在其余的replace中,而不是PARAMETER本身的值。 这被称为间接扩张。 给出的例子是: franky ~> echo ${!N*} NNTPPORT NNTPSERVER NPX_PLUGIN_PATH 我在这里不太明白: 由PARAMETER的其余部分形成的variables的值 因为PARAMETER就是!N* ,那么 PARAMETER的其余部分 只是N* 。 这怎么可能形成一个variables? Bash在那里search所有可能的命令吗?