"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP의 특정 키 접두사를 기반으로 배열 요소를 추출하는 방법은 무엇입니까?

PHP의 특정 키 접두사를 기반으로 배열 요소를 추출하는 방법은 무엇입니까?

2024년 11월 22일에 게시됨
검색:818

How to Extract Array Elements Based on a Specific Key Prefix in PHP?

접두사 가용성을 기반으로 배열 요소 추출

키 접두사가 다양한 배열이 있는 시나리오에서 다음으로 시작하는 요소만 추출 특정 접두사는 유용한 작업이 될 수 있습니다. 예제 배열을 고려해 봅시다:

array(
  'abc' => 0,
  'foo-bcd' => 1,
  'foo-def' => 1,
  'foo-xyz' => 0,
  // ...
)

도전과제: 'foo-'로 시작하는 요소만 유지합니다.

기능적 접근:

$array = array_filter($array, function($key) {
    return strpos($key, 'foo-') === 0;
}, ARRAY_FILTER_USE_KEY);

익명 함수가 포함된 array_filter 함수는 각 요소의 키가 'foo-'로 시작하는지 확인합니다. 이 조건이 충족되면 해당 요소는 수정된 배열에 유지됩니다.

절차적 접근:

$only_foo = array();
foreach ($array as $key => $value) {
    if (strpos($key, 'foo-') === 0) {
        $only_foo[$key] = $value;
    }
}

이 접근 방식은 배열을 반복하여 각 키에 'foo-' 접두사가 있는지 확인합니다. 찾은 경우 해당 요소는 기준을 충족하는 요소만 포함하는 새 배열에 추가됩니다.

객체를 사용한 절차적 접근:

$i = new ArrayIterator($array);
$only_foo = array();
while ($i->valid()) {
    if (strpos($i->key(), 'foo-') === 0) {
        $only_foo[$i->key()] = $i->current();
    }
    $i->next();
}

이 접근 방식을 사용하면 ArrayIterator 객체를 사용하여 원래 배열을 탐색합니다. 각 키에 'foo-' 접두사가 있는지 검사하고 해당 요소가 새 배열에 추가됩니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3