PHP 프로그래밍에서 배열은 매우 일반적인 데이터 유형이며 배열을 조작해야 하는 경우가 많습니다. 그러나 때로는 다른 키를 유지하면서 배열에서 특정 키를 제외해야 하는 경우도 있습니다. 이 기사에서는 PHP를 사용하여 배열 키를 제외하는 방법을 설명합니다.
1. unset 함수 사용
unset 함수는 키-값 쌍을 삭제할 수 있습니다. 키가 unset 함수에 매개변수로 전달되면 해당 키가 삭제됩니다.
다음은 unset 함수를 사용하여 배열 키를 제외하는 예입니다.
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane' ); unset($my_array['foo']); print_r($my_array); // Array ( [john] => doe [mary] => jane )
위 예에서는 $my_array 배열의 'foo' 키가 unset 함수를 통해 삭제되는 것을 확인할 수 있습니다. 인쇄된 배열의 키입니다. 'foo' 키의 값입니다.
그러므로 배열에서 제외할 모든 키를 반복하여 unset 함수를 사용하여 하나씩 삭제할 수 있습니다.
다음은 unset 함수를 사용하여 여러 배열 키를 제외하는 예입니다.
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); foreach ($exclude_keys as $key) { unset($my_array[$key]); } print_r($my_array); // Array ( [john] => doe [jane] => smith )
위 예에서는 foreach 루프를 사용하여 제외할 키 배열 $exclude_keys를 순회한 후 배열에서 삭제합니다. unset 함수를 통해 차례로.
2. array_diff_key 함수 사용
PHP는 두 배열의 키를 비교하고 차이를 반환하는 데 사용할 수 있는 매우 편리한 array_diff_key 함수를 제공합니다.
다음은 array_diff_key 함수를 사용하여 여러 배열 키를 제외하는 예입니다.
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_array = array_diff_key($my_array, array_combine($exclude_keys, array_fill(0, count($exclude_keys), null))); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
위 예에서는 array_combine 및 array_fill 함수를 사용하여 모두 null 값을 갖는 동일한 길이의 배열을 생성한 다음 array_diff_key 함수를 사용합니다. $를 반환하는 데 사용됩니다. my_array와 모든 빈 키가 있는 배열, 즉 $exclude_keys 배열의 모든 키를 제외한 배열 사이의 차이입니다.
3. array_filter 함수를 사용하세요.
PHP에서는 array_filter 함수를 사용하여 배열을 필터링하고 해당 배열 요소를 반환합니다. 콜백 함수를 제공하므로 특정 키를 제외해야 하는지 여부를 결정하는 콜백 함수를 작성할 수 있습니다.
다음은 array_filter 함수를 사용하여 여러 배열 키를 제외하는 예입니다.
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_array = array_filter($my_array, function($key) use ($exclude_keys) { return !in_array($key, $exclude_keys); }, ARRAY_FILTER_USE_KEY); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
위 예에서는 익명 함수를 정의하고 use 키워드를 사용하여 $exclude_keys 배열을 해당 함수에 전달했습니다. 이 익명 함수의 기능은 $exclude_keys 배열에 배열 키가 있는 경우 false를 반환하여 필터링해야 함을 나타냅니다. 마지막으로 이 익명 함수를 array_filter 함수에 콜백 함수로 전달합니다. array_filter 함수를 사용할 때 세 번째 매개변수를 ARRAY_FILTER_USE_KEY로 지정합니다. 이는 콜백 함수를 사용하여 배열의 키를 필터링한다는 것을 나타냅니다.
4. array_keys 및 array_diff 함수 사용
마지막으로 array_keys 및 array_diff 함수를 사용하여 배열 키를 제외할 수도 있습니다. 구체적인 방법은 먼저 array_keys 함수를 사용하여 배열의 모든 키를 가져온 다음 array_diff 함수를 사용하여 유지해야 하는 키를 가져온 다음 이 키를 사용하여 새 배열을 구성하는 것입니다.
다음은 array_keys 및 array_diff 함수를 사용하여 여러 배열 키를 제외하는 예입니다.
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_keys = array_diff(array_keys($my_array), $exclude_keys); $filtered_array = array_intersect_key($my_array, array_combine($filtered_keys, $filtered_keys)); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
위 예에서는 먼저 array_keys 함수를 사용하여 $my_array의 모든 키를 얻은 다음 array_diff 함수를 사용하여 필터링합니다. 보관해야 하는 키. 그런 다음 array_combine 함수를 사용하여 필터링된 키를 동일한 키 값이 있는 배열로 구성하고 마지막으로 array_intersect_key 함수를 사용하여 필터링된 배열을 반환합니다.
요약
PHP는 배열 키를 제외하는 여러 가지 방법을 제공하며, 다양한 실제 상황을 처리하기 위해 다양한 방법을 사용하도록 선택할 수 있습니다. 특히 unset 함수, array_diff_key 함수, array_filter 함수, array_keys 및 array_diff 함수를 사용하여 이 작업을 완료할 수 있습니다. 이러한 방법을 사용할 때 불필요한 키를 실수로 삭제하거나 유지하지 않도록 배열 키를 주의 깊게 처리해야 한다는 점에 유의하는 것이 중요합니다.
위 내용은 PHP를 사용하여 배열 키를 제외하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!