变量变量无效的验证

时间:2009-06-21 02:28:09

标签: php variables validation

$method = 'post';

$method = strtoupper($method);
echo $method.'test1';

$method = '_'.$method;
echo $method.'test2';

$method = $$method;
echo $method.'test3';

为什么不在2到3之间打印$ _POST的内容?

2 个答案:

答案 0 :(得分:1)

您希望$method['test3']访问$_POST数组的元素。点.运算符执行字符串连接。方括号[]用于数组访问。

答案 1 :(得分:1)

除了John Kugelman的优点外,我还会使用以下内容

$method = $_POST;

echo $method['test1'];

echo $method['test2'];

echo $method['test3'];

并且不想通过字符串尝试访问内容数组名称

如果你真的坚持使用字符串来访问它们,你可以

$method = "post";
$method = strtoupper($method."_");    
if (isset(${$method})) {
  $method = ${$method};

  echo $method['test1'];

  echo $method['test2'];

  echo $method['test3'];
}