$_POST
単一ステートメント isset を使用して変数が存在するかどうかを確認する必要があります。
if (isset$_POST['name'] && isset$_POST['number'] && isset$_POST['address'] && etc ....)
これを達成する簡単な方法はありますか?
$_POST
単一ステートメント isset を使用して変数が存在するかどうかを確認する必要があります。
if (isset$_POST['name'] && isset$_POST['number'] && isset$_POST['address'] && etc ....)
これを達成する簡単な方法はありますか?
array_diffとarray_keysで簡単な方法を使用する
$check_array = array('key1', 'key2', 'key3');
if (!array_diff($check_array, array_keys($_POST)))
echo 'all exists';
$variables = array('name', 'number', 'address');
foreach($variables as $variable_name){
if(isset($_POST[$variable_name])){
echo 'Variable: '.$variable_name.' is set<br/>';
}else{
echo 'Variable: '.$variable_name.' is NOT set<br/>';
}
}
または、各$_POST
キー/ペアを繰り返します
foreach($_POST as $key => $value){
if(isset($value)){
echo 'Variable: '.$key.' is set to '.$value.'<br/>';
}else{
echo 'Variable: '.$key.' is NOT set<br/>';
}
}
最後の方法はおそらく最も簡単な方法です。$_POST
変数のいずれかが変更された場合、配列を新しい名前で更新する必要はありません。
それらのいずれかが設定されている場合、またはすべてが設定されている場合、条件を満たす必要がありますか?
foreach ($_POST as $var){
if (isset($var)) {
}
}
$variableToCheck = array('key1', 'key2', 'key3');
foreach($_POST AS $key => $value)
{
if( in_array($key, $variableToCheck))
{
if(isset($_POST[$key])){
// get value
}else{
// set validation error
}
}
}
あなたが求めていることはまさにisset
ページにあるものです
isset($_POST['name']) && isset($_POST['number']) && isset($_POST['address'])
以下と同じです:
isset($_POST['name'], $_POST['number'], $_POST['address'])
必要なすべてのキーを既に持っていることを考慮して、これをアサートするためのより良いまたは実用的な方法を求めている場合は、次のようなものを使用できます。
$requiredKeys = ['name', 'number', 'address'];
$notInPost = array_filter($requiredKeys, function ($key) {
return ! isset($_POST[$key]);
});
isset
と同じ結果を返さないことに注意してください。array_key_exists