检查$_POST是否设置为自定义函数?

发布于 2024-12-09 07:39:16 字数 443 浏览 1 评论 0原文

我正在开发一个函数来检查 $_POST 是否设置。

以下工作正常:

if (isset($_POST['einfo'])) {
    $einfo = $_POST['einfo'];
} else {  $einfo = NULL; }

echo $einfo;

这就是我想要实现的功能:

  function  ifset($check) {
       if (isset($_POST['$check'])) {
     $check = $_POST['$check'];
    } else {  $check = NULL; }
      return $check;
}

$einfo = ifset('einfo');

echo $einfo; 

但我没有得到任何输出。

I'm working on a function to check wheter a $_POST is set or not.

The following works fine:

if (isset($_POST['einfo'])) {
    $einfo = $_POST['einfo'];
} else {  $einfo = NULL; }

echo $einfo;

And this is the function i'm trying to make:

  function  ifset($check) {
       if (isset($_POST['$check'])) {
     $check = $_POST['$check'];
    } else {  $check = NULL; }
      return $check;
}

$einfo = ifset('einfo');

echo $einfo; 

But i get no output.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

荒岛晴空 2024-12-16 07:39:16

您必须使用双引号:

function ifset($check)
{
  if (isset($_POST["$check"]))
  {
    $check = $_POST["$check"];
  }
  else
  {
    $check = NULL;
  }
  return $check;
}

但实际上您可以省略它们。

You have to use double quotes:

function ifset($check)
{
  if (isset($_POST["$check"]))
  {
    $check = $_POST["$check"];
  }
  else
  {
    $check = NULL;
  }
  return $check;
}

But actually you can omit them.

凹づ凸ル 2024-12-16 07:39:16

如果结果为 NULL,当您执行 echo 时,它将被“转换”为空字符串,因此您什么也看不到。

尝试使用 var_dump 而不是 echo

并且您不必使用双引号来让 php 解释变量。

If the result is NULL, when you do the echo it will be "casted" as empty string and so you see nothing.

Try to use var_dump instead of echo.

And you have not to use the double quote to let php interpret the vars.

冷血 2024-12-16 07:39:16

NULL 意味着空,所以你什么也看不到。如果你想看一些东西,试试这个:

function ifset($check) {
 if (isset($_POST["$check"])) { 
 $check = $_POST["$check"]; 
 } else { 
 $check = "Empty";
 } 
return $check;
}

NULL means empty so you see nothing. If you want to see something, try this:

function ifset($check) {
 if (isset($_POST["$check"])) { 
 $check = $_POST["$check"]; 
 } else { 
 $check = "Empty";
 } 
return $check;
}
冷月断魂刀 2024-12-16 07:39:16

你需要阅读 php 手册!

$_POST['$check'] -> string '$check' is as you write
$_POST["$check"] -> string "$check" is a string that contain the $check variable
$_POST[$check] -> equivalent to previous


$check = 'some test';
echo "$check"; // outputs -some test-
echo $check; // outputs -some test-
echo '$check'; // outputs $check

希望这有帮助

you need to read a php manual!

$_POST['$check'] -> string '$check' is as you write
$_POST["$check"] -> string "$check" is a string that contain the $check variable
$_POST[$check] -> equivalent to previous


$check = 'some test';
echo "$check"; // outputs -some test-
echo $check; // outputs -some test-
echo '$check'; // outputs $check

hope this helps

夏九 2024-12-16 07:39:16

这可以用更少的代码来完成:

function ifset($check) {
    if (isset($_POST[$check])) {
        return $_POST[$check];
    }
    return NULL;
}

并且根据您处理的值和使用 PHP 5.3+,您可以使用:

function ifset($check) {
    return $_POST[$check] ?: NULL; // ternary operator
}

That can be done with even less code:

function ifset($check) {
    if (isset($_POST[$check])) {
        return $_POST[$check];
    }
    return NULL;
}

And depending on what values you deal with and are using PHP 5.3+ you can use:

function ifset($check) {
    return $_POST[$check] ?: NULL; // ternary operator
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文