$ _POST元字符?

时间:2013-11-11 08:55:51

标签: php post

在我的$ _POST中,我有一个名字发生变化的变量。名称为modify_0,但最后的数字会根据按下的按钮而改变。 无论如何要检查$_POST中该变量的数字是什么?

说:

$_POST['modify_(check for number or any character)']

3 个答案:

答案 0 :(得分:2)

您需要遍历$_POST变量中的所有键并查看其格式:

$post_keys = array_keys( $_POST );
foreach($post_keys as $key){
  if ( strpos($key, 'modify_' ) != -1 ){
    // here you know that $key contains the word modify
  }
}

答案 1 :(得分:1)

除了上面给出的正确答案外,我建议稍微更改一下代码,以便更容易使用。

而不是使用格式的输入:

// works for all types of input
<input type="..." name="modify_1" />
<input type="..." name="modify_2" />

你应该尝试:

<input type="..." name="modify[1]" />
<input type="..." name="modify[2]" />

这样,您可以通过以下方式迭代数据:

$modify = $_POST['modify'];
foreach ($modify as $key => $value) {
     echo $key . " => " . $value . PHP_EOL;
}

这对多选和复选框特别有用。

答案 2 :(得分:0)

尝试这样的事情:

// First we need to see if there are any keys with names that start with
// "modify_". Note: if you have multiple values called "modify_X", this
// will take out the last one.
foreach ($_POST as $key => $value) {
  if (substr($key, 0) == 'modify_') {
    $action = $key;
  }
}

// Proceed to do whatever you need with $action.