포함하고있는 파일을 검색하고 싶습니다. 여러 줄로 구분 된 여러 단어와 문자, 여러 행에, preg_grep 사용, 특정 문자열 포함, 변수로 저장. 그런 다음 일치하는 줄을 통해 "for 루프"를 검색하고 또 다른 문자열을 검색합니다.PHP- 루프에서 배열의 문자열 검색
예를 들어, 파일에서 변수 $a
(Array?)과 일치하는 모든 행을 포함하고 해당 변수를 포함하는 9 개의 행을 반환한다고 가정합니다. 어떻게
$c = preg_grep("/\b$a\b/", $o);
그래서 나는 변수 $b
을 찾기 위해 $c
을 통해 루프를 시도하고 처음에
for ($i = 0; $i < $max; $i++) {
$st = preg_grep("/\b$b\b/", $c);
echo implode($st, ' ');
}
일치하는 라인을 인쇄하고자 여기
$max = sizeof($c); // In this example contains 9
$max = sizeof($c)
설정 검색 결과에 implode($c, ' ')
이 표시되면 9 개의 값이 하나의 단색 문자열로 표시됩니다. 그것은 내 루프 후 동일한 기술을 사용하여, 나는 원하는 결과를 얻지 못하는 것 같지만 두 변수를 모두 일치시키는 결과 인 단일 행입니다.
또한이 작업을 훨씬 쉽게 수행 할 수있는 방법이 있지만이 예에 따르면 어디에서 실수하고 있습니까?
편집 도움이된다면, 텍스트 파일의 샘플 :
13 04000 Atlanta city GA 394017 +33.762900 -08.4422592
13 56000 North Atlanta CDP PA 27812 0000000147 +33.862550
경우 $의 C = preg_grep ("/ \ B $ A \ B를 /", $ 오) 두 줄 일치하는 것 그리고 이상적으로, $ B는 = PA는 두 번째 preg_grep은 yeild 할 경우 : 이것은에서 요소의 배열을 줄 것이다
$result = preg_grep("/\b$b\b/", preg_grep("/\b$a\b/", $o));
echo implode(" ", $result);
:
13 56000 North Atlanta CDP PA 27812 0000000147 +33.862550
$ o는 $ o = file (foo.txt)로 읽습니다. – swam
이것은 간단하게 잘 작동하여 거의 눈물을 흘 렸습니다. – swam