-1

私には機能があります。

function foo($foo)
{
     $new_foo_{$foo} = $_POST['$submitted_foo_{$foo}'];
}

foo(1);

$foo が変数に挿入されていないため、失敗しています。このタスクを達成するための適切な構文を探しましたが、これまでのところわかりませんでした。

これは可能ですか?これについての私の理由は、名前が 1 桁ずれている複数の入力があるため、関数を作成して呼び出すことで、DRY を破るのを防ぐことができるからです。

このタスクを達成するための代替方法も大歓迎です。

4

2 に答える 2

1
$_POST['submitted_foo_1'] = 'test';
function foo($foo)
{
     ${"new_foo_$foo"} = $_POST["submitted_foo_".$foo];
     echo $new_foo_1;

}

foo(1);

you can also create variable names similar to input names on fly:

//for example $_POST = array('name' => .., 'email' => ., 'submit' =>...)
foreach($_POST as $key => $val){
  $$key = $val;
}
//now $name, $email, $submit available
于 2013-08-11T19:27:56.330 に答える