Php 如何使用变量从常量中获取值?
我正在编写一个安装程序,将常量名称作为字符串数组传递,以检查它们是否存在,但在循环中,我还想检查这些值是否满足定义常量的要求Php 如何使用变量从常量中获取值?,php,constants,Php,Constants,我正在编写一个安装程序,将常量名称作为字符串数组传递,以检查它们是否存在,但在循环中,我还想检查这些值是否满足定义常量的要求 <?php $defines( 'FOO'=>Array('type'=>'int', 'min'=>0, 'max'=>100), 'BAR'=>Array('type'=>'bool'), 'ROO'=>Array('type'=>'path', 'write'=>true) );
<?php
$defines(
'FOO'=>Array('type'=>'int', 'min'=>0, 'max'=>100),
'BAR'=>Array('type'=>'bool'),
'ROO'=>Array('type'=>'path', 'write'=>true)
);
$errors = Array();
foreach($defines as $key=>$value) {
if(!defined($key)) {
$errors[] = $key . ' is not defined.';
} else {
$v = // how do i set this to the value defined for the define found.
}
}
。。。其中,上面的…
是根据$key
值(保存已定义的检查的常量名称)访问已定义常量的方法
我使用的是PHP5.6,我的问题的第一部分得到了解决,这要归功于关于该方法的实时PHP文档,并对其进行了跟踪。现在只需要关于第二部分的一些信息。欢迎你回答问题的第一部分:)1)那么你想检查常量是否满足数组中定义的要求?如果是,您有哪些可能的要求?2) 如果定义了常数并且满足了要求,您希望将$v
设置为该值,对吗?如果是,您知道每次输入else语句时都会覆盖$v
。@Rizier123-正确$v
只是一个临时变量,但我也想知道是否可以使用类似于第二部分的内容。现在我知道了constant()
命令,它看起来像$v=($value['type'])constant($key)
(嘿,看起来很时髦XD)不确定我是否能理解你的意思,但是如果现在的问题是关于类型要求的话,你可能会查找gettype()
/settype()
,这取决于你是想将类型设置为该类型还是对照它进行检查。
$v = ($value['type']) ...