PHP, если существует несколько переменных

поэтому у меня есть небольшая проблема с тем, чтобы мой PHP запускал команду, если существует несколько переменных. Я сделал простую версию для людей, чтобы увидеть, что я пытаюсь исправить проще. Заранее спасибо всем, кто может помочь:)

<?php
if ((isset($finalusername)) && if (isset($finalpassword)) && if (isset($finalemail)))
  echo "This will save.";
?>

5 ответов


if (isset($finalusername, $finalpassword, $finalemail))

см. Также окончательное руководство по PHP isset и empty.


вам не нужно размещать несколько if там.

if (isset($finalusername) && isset($finalpassword) && isset($finalemail)) {
   // ...
}

на самом деле, я бы даже сделал это так...

if (isset($finalusername, $finalpassword, $finalemail)) {
   // ...
}

если задано несколько параметров, то isset () вернет только TRUE если заданы все параметры.

таким образом, вы можете сделать так:

if (isset($finalusername, $finalpassword, $finalemail)) {
    echo "This will save.";
}

таким образом, это может быть хорошим решением для гораздо большего, чем некоторые переменные:

  // INTI ARRAY
  $arr_final = array(
    'username'  => !empty($finalusername) ? $finalusername : false,
    'password'  => !empty($finalpassword) ? $finalpassword : false,
    'email'  => !empty($finalemail) ? $finalemail : false,
    'more_stuff'  => !empty($morestuff) ? $morestuff : false,
  );

  $bol_isValid = true;
  $arr_required = array('username','password');
  foreach ($arr_final as $key => $value) {
    if ( (in_array($key, $arr_required)) && ($value === false) ) {
      $bol_isValid = false;
      break;
    }
  }

попробуйте с помощью этого:

if (isset($var1))
{
    if (isset($var2))
    {
        // continue for each variables...
    }
}