PHP空()不适合我

时间:2015-09-04 04:47:17

标签: php is-empty

我的网址如下:https://website.org/withdraw.php?valid_addr=1333mwKE7EcwLaR9ztdtEt7pPEfafpW4nn&amount=0.0002&_unique=1

和一行代码:

if (empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique']))==0) exit();

如果删除该行,则代码会成功运行。谁能告诉我我做错了什么。

如果三个字段中的任何一个为空,则该行应该停止运行代码。

感谢。

6 个答案:

答案 0 :(得分:2)

我认为你想利用array_key_exists而不是空。

if (!array_key_exists('amount', $_GET) || 
    !array_key_exists('valid_addr', $_GET) ||
    !array_key_exists('_unique', $_GET))
    exit();

来自PHP empty()docs

  

确定变量是否为空。变量是   如果它不存在或者其值等于FALSE则认为为空。   如果变量不存在,empty()不会生成警告。

请参阅Array Key Exists docs

答案 1 :(得分:1)

lock.l_type = F_WRLCK;

答案 2 :(得分:0)

缺少左括号,

   if ((empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique']))==0) exit();

试试吧......

答案 3 :(得分:0)

语法错误。删除==0)部分:

if(empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique'])) {
    exit();
}

答案 4 :(得分:0)

你的代码应该是这样的:

if (empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique']))
{
  exit();
}

答案 5 :(得分:0)

您的代码上方有语法错误。我想你想用0和1来验证unique。所以你应该尝试这个代码

if (empty($_GET['amount']) || empty($_GET['valid_addr']) || $_GET['_unique'])==0) exit();