私の $_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.