PHP에서 배열을 처리 할 때 배열 컨텐츠를 조작하기위한 많은 함수가 발생하며, 그 중 array_slice () 및 end () 는 매우 일반적으로 사용되는 두 가지 기능입니다. 이 두 기능은 배열 작업에서 고유 한 장점이 있지만 일부 시나리오에서는 array_slice () 가 end () 보다 더 권장됩니다. 아래에서는이 두 기능의 사용 시나리오를 비교하여 어떤 상황에서 array_slice () 가 더 나은 상황을 탐색합니다.
end () 함수는 배열의 내부 포인터를 배열의 마지막 요소로 이동하고 해당 요소의 값을 반환하는 데 사용됩니다. 예를 들어:
$array = [1, 2, 3, 4, 5];
$lastElement = end($array); // 반품 5
echo $lastElement;
이 기능의 단점은 배열의 내부 포인터를 수정한다는 것입니다. 각 호출 end () 는 현재 배열 포인터 위치에 영향을 미치며, 이는 후속 작업에 예기치 않은 영향을 미칠 수 있습니다.
배열 포인터 : end () 는 배열의 내부 포인터를 마지막 요소로 이동하여 배열의 다른 작업에 영향을 줄 수 있습니다.
여러 데이터 항목을 얻을 수 없습니다 : end ()는 배열에서 마지막 요소 만 얻을 수 있으며 동시에 여러 요소를 얻을 수 없습니다.
Array_Slice () 함수는 배열에서 요소의 일부를 추출하고 새 배열을 반환하는 데 사용됩니다. end () 와 달리 Array_Slice ()는 배열의 내부 포인터를 수정하지 않습니다. 예를 들어:
$array = [1, 2, 3, 4, 5];
$lastElements = array_slice($array, -1); // 반품 [5]
print_r($lastElements);
배열 포인터를 수정하지 마십시오 : Array_Slice ()는 배열의 내부 포인터를 변경하지 않으므로 배열 포인터의 위치를 후속 작업에서 변경할 수 없습니다.
여러 요소를 얻으십시오 : 마지막 것과 제한되지 않는 Array_Slice () 의 두 번째 매개 변수를 설정하여 배열에서 요소의 일부를 쉽게 얻을 수 있습니다. 예를 들어, array_slice ($ array, -3)는 배열의 마지막 세 요소를 추출 할 수 있습니다.
유연성 : 두 번째 매개 변수의 값을 조정하면 배열의 일부를 얻을 수 있으며 반환 된 배열의 크기를 제한하기 위해 세 번째 매개 변수를 설정할 수도 있습니다.
배열의 마지막 요소 만 필요하면 end ()는 간단하고 효과적인 선택입니다. 그러나 배열 포인터의 위치를 수정하지 않거나 향후 다른 배열 작업을 수행 해야하는 경우 Array_Slice ()가 더 적절합니다.
예를 들어, 다음 코드는 end ()를 사용하여 배열의 마지막 요소를 얻습니다.
$array = [1, 2, 3, 4, 5];
$lastElement = end($array);
echo $lastElement; // 산출 5
이 방법은 배열 포인터의 위치를 수정합니다. 마지막 요소를 얻은 후 다른 배열 작업을 수행 해야하는 경우 예기치 않은 동작이 발생할 수 있습니다.
Array_Slice ()를 사용하면이 문제를 피할 수 있습니다.
$array = [1, 2, 3, 4, 5];
$lastElement = array_slice($array, -1);
echo $lastElement[0]; // 산출 5
배열에서 마지막 몇 가지 요소를 가져와야하는 경우 Array_Slice ()가 더 나은 선택입니다. 예를 들어, 배열의 마지막 3 가지 요소를 가져와야하는 경우 :
$array = [1, 2, 3, 4, 5];
$lastThree = array_slice($array, -3);
print_r($lastThree); // 산출 [3, 4, 5]
end () 함수는 마지막 요소 만 반환 할 수 있지만 Array_Slice ()는 여러 요소를보다 유연하게 추출 할 수 있습니다.
경우에 따라 배열을 조작 할 때 마지막 요소를 얻는 동안 배열 무결성을 유지해야 할 수도 있습니다. 예를 들어, 배열의 헤드와 꼬리 요소를 모두 조작 해야하는 경우 end ()는 포인터의 움직임에 영향을 미치고 Array_Slice ()를 사용하면이를 피할 수 있으므로 후속 작업을 더 잘 수행 할 수 있습니다.
$array = [1, 2, 3, 4, 5];
// 사용 end() 마지막 요소를 얻으십시오
$lastElement = end($array);
// 사용 array_slice() 배열의 헤더 요소를 가져옵니다
$firstThree = array_slice($array, 0, 3);
echo "Last Element: " . $lastElement . "\n"; // 산출 5
print_r($firstThree); // 산출 [1, 2, 3]
end () 및 array_slice () 가 배열을 조작 할 때 역할을 할 수 있지만 사용 시나리오가 다릅니다. 마지막 요소를 가져와야 할 때는 배열 포인터의 변경에 관심이 없다면 end ()는 간결한 선택입니다. 그러나 배열의 여러 요소를 얻거나 배열 포인터 위치를 변경하지 않아야하는 경우 Array_Slice () 가 더 적합합니다. 이 두 기능을 합리적으로 선택함으로써 배열 작업을보다 효율적으로 처리 할 수 있습니다.