키 접두사로 배열 요소 필터링
키와 값이 포함된 배열이 있는 경우 키가 다음으로 시작하지 않는 모든 요소를 제거하려면 어떻게 해야 합니까? 특정 문자열? 예를 들어 다음 배열이 있다고 가정해 보겠습니다.
<code class="php">array( 'abc' => 0, 'foo-bcd' => 1, 'foo-def' => 1, 'foo-xyz' => 0, // ... )</code>
목표는 "foo-"로 시작하는 키가 있는 요소만 유지하는 것입니다.
기능적 접근:
array_filter 함수를 사용하면 배열을 필터링하고 원하는 요소만 유지할 수 있습니다.
<code class="php">$array = array_filter($array, function($key) { return strpos($key, 'foo-') === 0; }, ARRAY_FILTER_USE_KEY);</code>
절차적 접근 방식:
또는 절차적 접근 방식 접근 방식을 사용할 수 있습니다:
<code class="php">$only_foo = array(); foreach ($array as $key => $value) { if (strpos($key, 'foo-') === 0) { $only_foo[$key] = $value; } }</code>
객체를 사용한 절차적 접근:
반복자를 사용하여 배열을 필터링할 수도 있습니다:
<code class="php">$i = new ArrayIterator($array); $only_foo = array(); while ($i->valid()) { if (strpos($i->key(), 'foo-') === 0) { $only_foo[$i->key()] = $i->current(); } $i->next(); }</code>
위 내용은 PHP에서 키 접두사로 배열 요소를 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!