0

Webフォームから送信される投稿フィールドの選択があります:

$_POST['first_name'];
$_POST['last_name'];
$_POST['house_number'];
$_POST['postcode'];

それぞれに次のコード構造を追加したいと思います。

if (isset($_POST['first_name'])) {
    $first_name = mysql_prep($_POST['first_name']);
}

ループを使用してこれを達成し、何度も繰り返す必要がないようにするにはどうすればよいですか?

ありがとう

4

4 に答える 4

8

PHP のextract()関数を使用して、これを行うことができます。

extract($_POST);
// you now have a variable for every key in $_POST

完全な配列ではなく、特定のキーのリストのみが必要な場合は、 ( のようにvariable-variables先頭に が 2 つ付いた変数) を使用することもできます。$$$var

$keysToExtract = array('first_name', 'last_name');
foreach ($keysToExtract as $key) {
    $$key = $_POST[$key];
}
// you now have $first_name and $last_name
于 2012-10-05T13:34:18.607 に答える
2

array_map() PHP 関数を使用して、すべての配列要素にいくつかの操作を適用します。

その後、配列キーextract($_POST)のような名前の変数を受け取りたい場合。$_POST

于 2012-10-05T13:35:10.790 に答える
2

foreach を使用してみてください:

foreach( $_POST as $key => $value ) {
    $$key = mysql_prep( $value );
}
于 2012-10-05T13:35:57.420 に答える
1

どうですか

foreach ($_POST as $key => $value){
$$key = mysql_prep($value);    
}

$$ は可変変数を設定しています

于 2012-10-05T13:37:19.913 に答える