2011-04-27 2 views

답변

10

내가 정확히 사용자의 요구에 맞는 있는지 모르겠지만, 당신이 정규식과 수익에 대한 문자열 배열을 검사합니다 preg_grep 기능을 살펴 가져야한다 모든 일치하는 배열 요소. 반환 값 array_keyspreg_grep을 사용하여 키를 사용하여 동일한 작업을 수행 할 수 있습니다.

이 점은 array_search/array_key_exists과 다른 점은 일치 항목이 하나만있을 수 있기 때문에 일치 항목을 찾은 후에 중지된다는 것입니다. 반면에 정규식을 사용하면 조건을 만족하는 요소가 여러 개있을 수 있으므로 preg_grep은 모두 반환합니다.

+0

내가 preg_grep'는 질문을 요청 정확히'생각 (모든 키와 일치합니다). 그리고 만약 당신이 정말로 하나의 결과만을 원한다면,'current()'가 적용될 수 있습니다. – mario

+0

preg grep :) noice – Andrew

1

특정 사례를 들어 당신은 사용할 수 있습니다 : 사용자 정의 콜백을 필요

= array_filter(array_keys($array), "is_numeric") 

다른 정규 표현식 키와 일치하는 경우.

(또한 RecursiveRegexIterator이있을 것이다, 그러나 그것은 더 구문 오버 헤드입니다.)

+1

"ctype_digit"도 좋습니다. 'is_numeric'은 전형적으로 16 진수와 지수 표기법과 같은 것을 매치시키고 싶지 않다면 너무 많습니다. – NikiC