Programing

$ _GET이 있는지 확인하는 방법은 무엇입니까?

crosscheck 2020. 12. 10. 18:51
반응형

$ _GET이 있는지 확인하는 방법은 무엇입니까?


따라서 다음과 같은 PHP 코드가 있습니다.

<body>
    The ID is 

    <?php
    echo $_GET["id"] . "!";
    ?>

</body>

이제 http://localhost/myphp.php?id=26정상적으로 작동 하는 것처럼 ID를 전달하면 ID 가 없으면 http://localhost/myphp.php다음 과 같이 출력됩니다.

The ID is
Notice: Undefined index: id in C:\xampp\htdocs\myphp.php on line 9
!

이 문제를 해결하는 방법을 찾았지만 URL 변수가 있는지 확인할 방법을 찾을 수 없습니다. 그래도 방법이 있어야한다는 것을 알고 있습니다.


isset기능 을 사용할 수 있습니다 .

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

인덱스가 없으면 기본값을 반환하는 편리한 함수를 만들 수 있습니다.

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');

동시에 유효성 검사를 시도 할 수도 있습니다.

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);

   if (isset($_GET["id"])){
        //do stuff
    }

일반적으로 다음을 수행하는 것이 좋습니다.

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

이것은 var를 다른 변수에 할당 할 때 기본값 if이 설정되지 않은 경우에만 기본값을 제공하기 위해 명령문을 계속 사용하는 대신 한 번에 모두 기본값을 수행 할 수 있습니다 .


array_key_exists()내장 기능을 사용할 수 있습니다 .

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

또는 isset()내장 기능 :

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

PHP isset을 사용하고 있습니다.

if (isset($_GET["id"])) {
    echo $_GET["id"];
}

사용 및 empty()오순절 부정 (비어 있지 않은 경우 테스트 용)

if(!empty($_GET['id'])) {
    // if get id is not empty
}

그것을 시도하십시오 :

if(isset($_GET['id']) && !empty($_GET['id'])){
   echo $_GET["id"];
 }

참고 URL : https://stackoverflow.com/questions/12019684/how-to-verify-if-get-exists

반응형