使用if isset定义常量

时间:2015-03-31 04:25:30

标签: php constants

我有一系列常量我用来填充一系列参数。代码看起来像这样:

define( 'variable_one', $_POST["variable_one"];
define( 'variable_two', $_POST["variable_two"];

$current_api_params->sVariableOne = variable_one;
$current_api_params->sVariabletwo = variable_two;

如何通过if语句设置其中一个常量?变量来自一个表单,并且给定表单选项,variable_one,或者我使用过的几十个或任何一个,可能是许多不同的名称。

我只是做一些像

这样的事情
if ( isset($_POST["variable_one"] ) {
  define( 'variable_one', $_POST["variable_one"] );
}
elseif ( isset($_POST["variable_one_different_name"] ) {
  define( 'variable_one', $_POST["variable_one_different_name"] );
}
else {
  define( 'variable_one', '' );
}

$current_api_params->sVariableOne = variable_one;

如果它是如何完成的,那么它有简写吗?所有这些打字都变得乏味!

1 个答案:

答案 0 :(得分:1)

您可以使用array_keys和for循环

沿着这些方向的某个地方(您可能需要检查一些语法错误,因为我在没有任何IDE /适当环境的情况下键入此内容)

$keys = array_keys($_POST)
foreach ($keys as $keyItem)
{
    define($keyItem, $_POST[$keyItem]);
}

虽然我不确定为什么常数根本不恒定......但是嘿,由你来决定。