PHP, если я заполняю переменную из почтовых данных, она всегда установлена?

0

У меня есть простой вопрос, но я не могу найти ответа на него. У меня есть такой код:

$app->put('/user/', function () use ($app) {

  $isValid      = true;
  $message      = null;
  $newuserID        = null;
  $session_token    = null;
  $jsonUserData     = $app->request->put('user');

  if(!isset($jsonUserData) ){
    $isValid = false;
    $message = 'er ging iets mis';
  }else{
    //handle rest of code.
  }
}

will isset($jsonUserData) всегда возвращает true, потому что я объявляю его с

$jsonUserdata = $app->request->put('user');

или он вернется как false, если $app->request->put('user'); был пуст

Тонкие документы api говорят, что он обрабатывает свои переменные с помощью

Если переменная не существует, каждый метод выше возвращает null. Вы также можете вызывать любую из этих функций без аргумента для получения массива всех переменных данного типа:

  • 2
    это зависит от этого метода $app->request->put
  • 1
    пожалуйста, обратитесь к руководству. php.net/manual/en/function.isset.php - пример говорит, что $ var = ''; верните истину.
Показать ещё 1 комментарий
Теги:
isset

1 ответ

0

См. Документацию по адресу php.net/manual/en/function.isset.php.

Иссет просто проверяет, существует ли переменная, а не ее содержимое. поэтому, если есть какая-либо строка кода с

$XX = ...
isset($XX); // will return true. 

Вы можете использовать:

if(!isset($jsonUserData) || $jsonUserData == null){
  ...
}

Исключение: вы можете уничтожить переменные с unset ($ XX). Тогда isset вернет false, потому что эта переменная больше не существует.

  • 1
    bool isset ( mixed $var [, mixed $... ] ) Determine if a variable is set and is not NULL. так || json/userdata == null не требуется

Ещё вопросы

Сообщество Overcoder
Наверх
Меню