在我的 $_POST 中,我有一个名称更改的变量。名称是 modify_0,但最后的数字会根据按下的按钮而变化。无论如何要检查该变量的数字是$_POST
多少?
说:
$_POST['modify_(check for number or any character)']
您需要遍历$_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
}
}
除了上面给出的正确答案外,我建议稍微更改您的代码,以便更容易使用。
而不是使用以下格式输入:
// 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;
}
这对于多选和复选框特别有效。
尝试这样的事情:
// 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.