php에서 assert () 및 array_diff_key () 는 두 가지 매우 유용한 기능입니다. 전자는 일반적으로 어설 션을 작성하고 특정 조건이 유지되는지 확인하는 데 사용되는 반면, 후자는 두 배열의 키를 비교하고 두 번째 배열에 있지 않은 리턴 키를 비교하는 데 사용됩니다. 우리는이 두 기능을 조합하여 사용하여 코드에서 빠른 조건부 검사를 수행하는 데 도움이되는 간단하고 효과적인 어설 션 논리를 구현할 수 있습니다. 이 기사는이 두 기능을 사용하여 간단한 주장 논리를 구현하는 방법을 자세히 설명합니다.
Assert () 함수는 주로 PHP에서 특정 조건이 사실인지 확인하는 데 사용됩니다. 조건이 False 인 경우 오류가 트리거됩니다. 이 기능은 종종 개발 중에 중요한 조건이 항상 사실이되도록 코드를 디버깅하고 테스트하는 데 사용됩니다.
assert(expression);
표현식은 검증되어야하는 조건부 표현입니다. 표현식의 결과가 False 인 경우 오류가 트리거됩니다.
$age = 20;
assert($age > 18); // 만약에 $age 보다 작거나 동일합니다 18,경고가 트리거됩니다
위의 코드에서 Assert ()는 $ 연령이 18보다 큰지 확인하는 데 사용됩니다. 조건이 False 인 경우 PHP는 경고를 유발합니다.
Array_Diff_Key () 함수는 두 배열의 키를 비교하고 첫 번째 배열에서 키 값 쌍을 포함하는 새 배열을 반환하는 데 사용되지만 두 번째 배열에는 없습니다.
array_diff_key(array $array1, array $array2): array
Array1 및 Array2 는 비교할 두 개의 배열입니다.
이 함수는 Array1 에 모든 키를 포함하는 배열을 반환하지만 Array2 에는 없습니다.
$array1 = ['a' => 1, 'b' => 2, 'c' => 3];
$array2 = ['a' => 4, 'c' => 5];
$result = array_diff_key($array1, $array2);
print_r($result);
산출:
Array
(
[b] => 2
)
위의 코드에서 Array_diff_key ()는 $ array1 과 $ array2 의 키를 비교하고 $ array1 에 있지만 $ array2 에 있지 않은 키 만 포함하는 새 배열을 반환합니다.
assert () 와 array_diff_key ()를 결합하여 배열에 필요한 키가 포함되어 있는지 확인하여 간단한 어설 션 로직을 구현할 수 있습니다.
이름 , 이메일 및 연령 과 같은 키를 포함하여 사용자의 기본 정보를 저장하는 연관 배열이 있다고 가정합니다. 배열 에이 세 가지 키가 포함되어 있는지 확인하고 싶습니다. 누락 된 사람이 있으면 어설 션 오류를 트리거 할 수 있습니다.
<?php
// 이것이 들어오는 사용자 데이터라고 가정하십시오
$userData = [
'name' => 'John Doe',
'email' => 'john.doe@m66.net',
// 'age' 키 누락
];
// 열쇠가 필요합니다
$requiredKeys = ['name', 'email', 'age'];
// 비교 키
$missingKeys = array_diff_key(array_flip($requiredKeys), $userData);
// 만약에有缺失的键,주장을 유발합니다
assert(empty($missingKeys), '필요한 키가 없습니다:' . implode(', ', array_keys($missingKeys)));
// 만약에断言通过,계속 실행하십시오
echo '완전한 사용자 데이터,계속 처리하십시오...';
?>
사용자 데이터 : 사용자의 기본 정보가 포함 된 $ userData 배열을 정의합니다. 여기서 우리는 고의적으로 시대 열쇠를 놓쳤다.
필수 키 : $ 필요한 키 어레이에는 사용자 데이터에 나타날 것으로 예상되는 모든 키가 포함되어 있습니다.
키를 비교하십시오 : Array_Diff_Key ()를 사용하여 $ userData 의 키를 $ 필요한 키의 키와 비교하십시오. 누락 된 키가 있으면 $ MissingKeys 어레이에는 이러한 누락 된 키가 포함됩니다.
Assertion : $ MissingKeys 배열이 비어 있지 않으면 누락 된 키가 있음을 의미합니다. Assert () 함수를 통해 어설 션 오류를 트리거하고 누락 된 키 이름을 출력합니다.
Assert () 및 Array_diff_key ()를 결합하여 배열 데이터에 대한 어설 션 검사를 매우 편리하게 수행 할 수 있습니다. 특히 사용자 입력 또는 데이터 검증을 처리 할 때이 방법은 데이터 무결성을 보장하고 후속 코드에서 필요한 데이터가 부족하여 오류를 피할 수 있습니다. 가벼운 디버깅 도구로서 Assert ()는 개발 단계에서 잠재적 인 문제를 적시에 캡처하는 데 도움이되며 Array_diff_key ()는 키 값 쌍을 비교하는 간결하고 효율적인 방법을 제공합니다.
이런 식으로 코드를 작성할 때 더 자신감을 갖고 프로그램의 안정성과 신뢰성을 보장 할 수 있습니다.