How to verify if $_GET exists?

前端 未结 7 1915
生来不讨喜
生来不讨喜 2020-12-02 21:59

So, I have some PHP code that looks a bit like this:


    The ID is 

    




        
相关标签:
7条回答
  • 2020-12-02 22:25

    You can use the array_key_exists() built-in function:

    if (array_key_exists('id', $_GET)) {
        echo $_GET['id'];
    }
    

    or the isset() built-in function:

    if (isset($_GET['id'])) {
        echo $_GET['id'];
    }
    
    0 讨论(0)
  • 2020-12-02 22:28
       if (isset($_GET["id"])){
            //do stuff
        }
    
    0 讨论(0)
  • 2020-12-02 22:38

    Use and empty() whit negation (for test if not empty)

    if(!empty($_GET['id'])) {
        // if get id is not empty
    }
    
    0 讨论(0)
  • 2020-12-02 22:46

    You can use isset function:

    if(isset($_GET['id'])) {
        // id index exists
    }
    

    You can create a handy function to return default value if index doesn't exist:

    function Get($index, $defaultValue) {
        return isset($_GET[$index]) ? $_GET[$index] : $defaultValue;
    }
    
    // prints "invalid id" if $_GET['id'] is not set
    echo Get('id', 'invalid id');
    

    You can also try to validate it at the same time:

    function GetInt($index, $defaultValue) {
        return isset($_GET[$index]) && ctype_digit($_GET[$index])
                ? (int)$_GET[$index] 
                : $defaultValue;
    }
    
    // prints 0 if $_GET['id'] is not set or is not numeric
    echo GetInt('id', 0);
    
    0 讨论(0)
  • 2020-12-02 22:47

    Normally it is quite good to do:

    echo isset($_GET['id']) ? $_GET['id'] : 'wtf';
    

    This is so when assigning the var to other variables you can do defaults all in one breath instead of constantly using if statements to just give them a default value if they are not set.

    0 讨论(0)
  • 2020-12-02 22:47

    You are use PHP isset

    Example

    if (isset($_GET["id"])) {
        echo $_GET["id"];
    }
    
    0 讨论(0)
提交回复
热议问题