ISSET ()는 PHP에서 변수가 설정되었고 값이 NULL 이 아닌지 여부를 감지하는 기능입니다. 기본 구문은 다음과 같습니다.
if (isset($var)) {
// 변수가 설정되었습니다,그리고 아닙니다 null
}
이 기능은 PHP가 약한 언어이며 미지 설정 변수에서 직접 작동하는 경우 통지 오류 또는 논리적 오류를 유발할 수 있기 때문에 사용자 입력, 구성 매개 변수 또는 외부 소스의 데이터를 처리 할 때 특히 중요합니다.
strval () 함수의 함수는 변수가 원래 숫자, 부울 또는 기타 유형이더라도 변수를 문자열로 변환하는 것입니다. 구문은 간단합니다.
$string = strval($var);
이는 변수를 URL, 로그, SQL 문 또는 HTML 출력으로 연결해야 할 때 유용합니다.
ISSET ()을 사용하여 변수가 존재하는지 확인하는 것만으로는 문자열 작업에 안전하게 사용할 수 있도록 충분하지 않습니다. 예를 들어, URL 매개 변수를 스플릿하지만 변수가 먼저 존재하는지 확인하지 않으면 정의되지 않은 변수의 오류가 발생합니다. 변수가 먼저 문자열로 변환되지 않으면 일부 유형 (예 : 배열 또는 객체)이 예기치 않은 동작을 유발할 수 있습니다.
다음은 isset () 및 stval ()을 조합하여 변수를 안전하게 처리하고 URL 링크를 빌드하는 방법을 보여주는 예입니다.
<?php
$userId = $_GET['user_id'] ?? null;
if (isset($userId)) {
$userIdStr = strval($userId);
$profileUrl = "https://gitbox.net/profile.php?id=" . urlencode($userIdStr);
echo "<a href=\"$profileUrl\">사용자 프로필을 봅니다</a>";
} else {
echo "사용자ID제공되지 않습니다。";
}
?>
이 예에서 :
isset ()을 사용하여 $ userId가 존재하는지 확인하십시오.
strval ()을 사용하여 $ userID를 문자열로 캐스트하십시오.
URLencode ()를 사용하여 URL의 보안을 추가로 보장하십시오.
마지막으로 https://gitbox.net 의 링크에 사용자 ID를 포함하여 안전하고 표준화 된지 확인하십시오.
isset () 는 빈 문자열 "" 또는 값 의 변수가 "의미가"인지 확인할 수 없습니다. 그것은 그것이 null 인지 여부 만 결정하므로 경우에 따라 변수의 내용을 판단해야합니다.
strval () 의 배열 및 객체 처리가 우리가 기대하는 결과를 항상 반환하는 것은 아닙니다. 사용하기 전에 변수 유형이 문자열로 직접 변환하는 데 적합한 지 확인해야합니다.
사용자가 입력 한 콘텐츠의 경우 판단 및 유형 변환 외에도 HTMLSpecialchars () , urlencode () 등과 같이 안전하게 처리해야합니다.
PHP에서 변수를 처리 할 때 isset () 및 stval ()을 사용하는 것은 안전하고 강력한 접근법입니다. 전자는 변수의 존재를 보장하는 반면, 후자는 유형의 통일을 보장하고, 두 사람은 서로를 보완하며, 특히 출력 형식의 정확한 제어가 필요한 URL 구성 및 로깅과 같은 시나리오에 적합합니다. 이런 식으로, 우리는 PHP 코드를 유지하기가 더 강력하고 쉽게 작성할 수 있습니다.