정규식 또는 preg_match()
을 array_seach()
또는 array_keys_exist
에 사용할 수 있는지 궁금합니다.array_search 또는 array_keys_exist에 대한 값으로 preg_match 또는 regex를 사용하는 PHP
즉. array_keys_exist($array,"^\d+$")
는 전적으로 숫자 모든 키에 맞게
정규식 또는 preg_match()
을 array_seach()
또는 array_keys_exist
에 사용할 수 있는지 궁금합니다.array_search 또는 array_keys_exist에 대한 값으로 preg_match 또는 regex를 사용하는 PHP
즉. array_keys_exist($array,"^\d+$")
는 전적으로 숫자 모든 키에 맞게
내가 정확히 사용자의 요구에 맞는 있는지 모르겠지만, 당신이 정규식과 수익에 대한 문자열 배열을 검사합니다 preg_grep
기능을 살펴 가져야한다 모든 일치하는 배열 요소. 반환 값 array_keys
에 preg_grep
을 사용하여 키를 사용하여 동일한 작업을 수행 할 수 있습니다.
이 점은 array_search
/array_key_exists
과 다른 점은 일치 항목이 하나만있을 수 있기 때문에 일치 항목을 찾은 후에 중지된다는 것입니다. 반면에 정규식을 사용하면 조건을 만족하는 요소가 여러 개있을 수 있으므로 preg_grep
은 모두 반환합니다.
특정 사례를 들어 당신은 사용할 수 있습니다 : 사용자 정의 콜백을 필요
= array_filter(array_keys($array), "is_numeric")
다른 정규 표현식 키와 일치하는 경우.
(또한RecursiveRegexIterator
이있을 것이다, 그러나 그것은 더 구문 오버 헤드입니다.)
"ctype_digit"도 좋습니다. 'is_numeric'은 전형적으로 16 진수와 지수 표기법과 같은 것을 매치시키고 싶지 않다면 너무 많습니다. – NikiC
내가 preg_grep'는 질문을 요청 정확히'생각 (모든 키와 일치합니다). 그리고 만약 당신이 정말로 하나의 결과만을 원한다면,'current()'가 적용될 수 있습니다. – mario
preg grep :) noice – Andrew