현재 위치: > 최신 기사 목록> 시뮬레이션 API 요청 전후에 매개 변수 비교

시뮬레이션 API 요청 전후에 매개 변수 비교

M66 2025-05-17

API를 개발할 때는 요청 된 매개 변수를 예상 매개 변수와 비교하여 변경되었는지 확인해야 할 수도 있습니다. PHP가 제공하는 Array_Diff_Assoc 함수는이를 달성하는 데 도움이 될 수 있습니다. 이 기능은 두 배열의 키 값 쌍을 비교하여 다른 부분을 반환하는 데 사용됩니다. 다음 으로이 기능을 사용하여 API 요청 전후에 매개 변수 비교를 시뮬레이션하는 방법을 소개합니다.

1. array_diff_assoc 함수의 기본 사용

먼저 Array_Diff_Assoc 함수의 기본 사용법을 이해해야합니다. 이 함수는 두 배열을 비교하고 첫 번째 배열에는 존재하지만 두 번째 배열에는없는 키 값 쌍이 포함 된 배열을 반환하는 데 사용됩니다.

기능 프로토 타입 :

 array_diff_assoc(array $array1, array $array2): array
  • $ array1 : 첫 번째 배열 (비교할 배열).

  • $ array2 : 두 번째 배열 (첫 번째 배열과 비교할 배열).

이 함수는 배열의 키 이름과 키 값을 비교하고 첫 번째 배열에서 키 값 쌍을 리턴하지만 값이 다른 두 번째 배열의 일부는 없습니다.

2. 시뮬레이션 전후에 매개 변수 비교 API 요청

API 요청 전후에 매개 변수 비교를 시뮬레이션하려고한다고 가정하면 일반적으로 Array_Diff_Assoc을 사용하여 요청 매개 변수와 예상 매개 변수의 차이를 찾을 수 있습니다. 예를 들어:

장면:

사용자가 매개 변수를 제출하는 API 요청이 있습니다. 제출 된 매개 변수를 예상 매개 변수와 비교하여 사용자가 추가 매개 변수를 제출하거나 일부 매개 변수의 값을 수정하는지 확인하려고합니다.

샘플 코드 :

 <?php
// 시뮬레이션 요청 전 매개 변수
$expectedParams = [
    'user_id' => 123,
    'name' => 'John Doe',
    'email' => 'john.doe@m66.net',
    'phone' => '123-456-7890'
];

// 사용자 제출 매개 변수를 시뮬레이션합니다
$submittedParams = [
    'user_id' => 123,
    'name' => 'John Doe',
    'email' => 'john.doe@m66.net',
    'phone' => '987-654-3210',  // 다른 휴대 전화 번호
    'address' => '123 Main St'  // 추가 매개 변수가 제출되었습니다
];

// 사용 array_diff_assoc 두 배열의 비교
$diff = array_diff_assoc($submittedParams, $expectedParams);

// 출력 비교 결과
if (!empty($diff)) {
    echo "요청 된 매개 변수와 예상 매개 변수의 차이는 다음과 같습니다.:\n";
    print_r($diff);
} else {
    echo "요청 된 매개 변수는 예상 매개 변수와 일치합니다。\n";
}
?>

코드 설명 :

  1. $ expectParams : user_id , 이름 , 이메일전화 등 네 가지 필드를 포함하여 예상되는 요청 매개 변수입니다.

  2. $ dubmittedParams : 이것은 사용자가 제출 한 요청 매개 변수입니다. 일반 4 개의 필드 외에도 추가 주소 필드가 제출되고 전화 필드가 수정됩니다.

  3. Array_diff_assoc을 사용하여 제출 된 파람예상 파람을 비교하고 그 차이점을 찾으십시오.

  4. 차이가있는 경우 print_r을 사용하여 차이 부분을 출력하십시오. 차이가 없으면 일관된 메시지를 출력하십시오.

산출:

 요청 된 매개 변수와 예상 매개 변수의 차이는 다음과 같습니다.:
Array
(
    [phone] => 987-654-3210
    [address] => 123 Main St
)

위에서 볼 수 있듯이 출력은 사용자 요청의 차이를 보여줍니다. 전화 매개 변수가 수정되었으며 주소는 불필요한 매개 변수입니다.

3. 고급 사용

때로는 두 배열의 차이를 비교해야 할뿐만 아니라 더 복잡한 점검이 필요할 수도 있습니다. 예를 들어, 특정 매개 변수가 누락되었는지 또는 특정 키 필드가 특정 형식을 충족하는지 확인해야 할 수도 있습니다. 기능을 향상시키기 위해 다른 PHP 기능과 함께 기능을 처리 할 수 ​​있습니다.

예 : 매개 변수 점검 누락

 <?php
$missingParams = array_diff_key($expectedParams, $submittedParams);
if (!empty($missingParams)) {
    echo "다음 매개 변수가 누락되었습니다:\n";
    print_r($missingParams);
} else {
    echo "모든 예상 매개 변수가 제출되었습니다。\n";
}
?>

이 예에서는 array_diff_key를 사용하여 키 이름을 비교하여 요청에 어떤 예상 매개 변수가 누락되었는지 알아냅니다.