현재 위치: > 최신 기사 목록> end () NULL과 FALSE DEBUGGING 기술의 차이점을 반환합니다.

end () NULL과 FALSE DEBUGGING 기술의 차이점을 반환합니다.

M66 2025-06-02

PHP에서 end () 함수는 배열의 내부 포인터를 배열의 마지막 요소로 이동하고 해당 요소의 값을 반환하는 데 사용됩니다. 배열이 비어 있거나 포인터가 마지막 요소를 가리키면 end () 함수가 false를 반환합니다. 그러나 end () 함수가 NULL 또는 FALSE를 반환하는 상황이 발생하면 개발자를 혼동 할 수 있습니다. 아래에서 end () 함수가 null 또는 false를 반환 할 때 문제를 신속하게 찾는 방법을 살펴 봅니다.

1. end () 함수의 기본 사용

PHP에서 end () 함수의 기본 구문은 다음과 같습니다.

 end(array $array): mixed

이 함수는 배열을 가져 와서 내부 포인터를 배열의 마지막 요소로 이동하여 해당 요소의 값을 반환합니다. 배열이 비어 있으면 end () 함수는 false를 반환합니다. end () 는 원래 배열의 내용을 변경하지 않을 것입니다.

예:

 $arr = [1, 2, 3, 4];
echo end($arr);  // 산출: 4

거짓 반환 :

  • 배열이 비어 있습니다.

  • 배열에는 하나의 요소 만 있고 내부 포인터는 해당 요소를 가리 켰습니다.

2. end ()가 거짓 또는 null을 반환하는 일반적인 이유

2.1 빈 배열

End ()를 호출 할 때 빈 배열을 전달하면 NULL 대신 False를 반환합니다. 이 상황은 일반적으로 확인하기 쉽습니다.

 $arr = [];
var_dump(end($arr));  // 산출: bool(false)

디버깅 제안 : 먼저 배열이 비어 있는지 확인하십시오. var_dump ($ arr) 또는 print_r ($ arr)를 사용하여 배열의 내용을보고 비어 있지 않은지 확인할 수 있습니다.

2.2 모든 배열 요소가 처리되었습니다

배열의 내부 포인터가 마지막 요소를 가리키면 Calling End ()는 해당 요소의 값을 반환하지만 배열이 비어 있거나 더 이상 요소가 없으면 리턴 값은 False가 됩니다.

 $arr = [1, 2, 3];
end($arr);  // 포인터를 가리키십시오 3
echo end($arr);  // 다시 전화하십시오 3

그러나 배열이 변경되거나 Array_shift () 와 같은 작업이 변경되면 포인터 위치가 변경 될 수있어 리턴 값에 영향을 미칩니다.

디버깅 제안 : 현재 ($ ARR)를 사용하여 현재 배열 포인터가 가리키는 요소를 볼 수있어 내부 포인터가 올바르게 배치되도록 할 수 있습니다.

 $arr = [1, 2, 3];
array_shift($arr);  // 첫 번째 요소를 제거하십시오
echo current($arr);  // 산출: 2

2.3 배열에는 null 또는 false 의 요소가 포함되어 있습니다

배열의 또는 잘못된 값도 문제를 일으킬 수 있습니다. END () 리턴 값이 NULL 인 경우 배열 자체의 마지막 요소가 NULL 이기 때문일 수 있습니다.

 $arr = [1, 2, 3, null];
echo end($arr);  // 산출: NULL

디버깅 제안 : 배열의 요소를 확인하여 end ()가 호출 될 때 배열의 마지막 요소가 NULL 과 같지 않는지 확인하십시오. var_dump ()를 사용하여 전체 배열을 인쇄 할 수 있습니다.

2.4 통과 된 변수는 배열이 아닙니다

end () 함수는 배열에서만 작동 할 수 있습니다. 통과 된 사람이 배열 유형이 아닌 경우 end ()는 False를 반환하며 이는 일반적인 디버깅 문제이기도합니다.

 $not_array = 'string';
echo end($not_array);  // 산출: bool(false)

디버깅 조언 : END () 로 전달 된 변수가 유효한 배열인지 확인하십시오. IS_ARRAY ($ ARR)를 사용하면 변수 유형을 확인하는 데 도움이됩니다.

3. 디버깅 방법

3.1 var_dump () 또는 print_r () 사용

end ()false 또는 null을 반환하면 먼저 배열의 내용을 확인해야합니다. 배열의 내용을 출력하여 배열이 비어 있는지 또는 불법 값이 포함되어 있는지 확인하기 위해 var_dump () 또는 print_r ()를 사용하십시오.

 var_dump($arr);
print_r($arr);

3.2 포인터 위치를 점검하십시오

현재 () 함수를 사용하여 현재 배열 포인터가 가리키는 요소를보십시오. 포인터가 마지막 요소를 가리키면 end ()에 의해 반환 된 요소가 이것이 될 것입니다.

 $current = current($arr);
echo $current;

3.3 데이터 유형이 올바른지 확인하십시오

end ()을 호출하기 전에 배열의 유형을 확인하여 배열이 통과되었는지 확인하십시오. IS_ARRAY ()를 사용하여 확인할 수 있습니다.

 if (!is_array($arr)) {
    echo "전달 된 변수는 배열이 아닙니다";
} else {
    echo end($arr);
}

4. 요약

php에서 end () 함수를 만나면 거짓 또는 null을 반환 할 때 디버깅의 키는 배열이 비어 있는지, 배열 포인터의 위치, 배열의 요소 값이 적절한 지, 그리고 전달 된 매개 변수의 데이터 유형을 확인하는 것입니다. var_dump () , print_r ()current () 와 같은 디버깅 도구를 사용하면 문제의 루트를 빠르게 찾은 다음 코드를 수정할 수 있습니다.

이 기사의 디버깅 방법을 통해 end () 함수와 관련된 문제를 신속하게 찾아서 해결할 수 있기를 바랍니다.