我有很多常量设置。 我有来自数据库的短语,其中可能包含那些常量名称。
我想用它们的值替换常量名称。
Constants:
Array
(
[WORK1] => Pizza Delivery
[WORK2] => Chauffer
[WORK3] => Package Delivery
)
变量:
$variable[0] = "I like doing WORK1";
$variable[1] = "Nothing here move along";
$variable[2] = "WORK3 has still not shown up.";
我如何获得具有正确常量值的变量?常量顺序可以是未分类的,也可以是变量。
答案 0 :(得分:1)
应该如此简单:
foreach ($variable as &$v)
{
$v = str_replace(array_keys($constants), array_values($constants), $v);
}
unset($v);
请注意,在循环之前执行此类操作可能更为理想:
$keys = array_keys($constants);
$vals = array_values($constants);
然后直接使用它们,而不是在每次迭代期间调用array_key / val。
第二个想法,这可能是最好的:
foreach ($variable as &$v)
{
$v = strtr($v, $constants);
}
unset($v);
因为它不会从头到尾处理,所以无论常量如何排序,都应该得到一致的行为。