2017-12-17 16 views
0

10 개 이상의 줄로 구성된 변수에서 특정 줄만 가져 오는 방법은 무엇입니까?변수에서 특정 줄 가져 오기

$line = explode('/n', $lines); 

하지만 지금 작업 : 이 코드를 시도했다.

이 내 전체 코드입니다 : 당신이 선으로 분할하려는 경우

<?php 
$line = explode('\r\n', "i 
c"); 
echo $line[1]; 
?> 
+1

줄 바꿈입니다 중'\ 연구 \ n' 또는'n' \, 이런 걸 이렇게 작동합니다 :'$ 라인 = 폭발 ('\ r \ n', $ lines); echo $ line [1];' – Cyclonecode

+0

@Cyclonecode 시도했지만, $ line [0]에 모든 문자열이 표시됩니다. –

+1

질문에 데이터를 추가 할 수 있습니까? –

답변

0

왜 폭발이 왜 효과가 없는지 잘 모르겠습니다. 나는 구분자로 PHP_EOL을 제안하고 그 잡는 방법을 볼 것입니다. 비교를 위해 preg_match()을 사용할 수 있지만 속도가 느려집니다.

코드 : (Demo)

1 preg_match: line1 
    explode: line1 
--- 
3 preg_match: line3 line 3 
    explode: line3 line 3 
--- 
5 preg_match: line five 
    explode: line five 
--- 
7 preg_match: line 7 
    explode: line 7 
--- 
9 preg_match: line 9 
    explode: line 9 
--- 

이 더 나는 그것에 대해 생각

$string='line1 
line2 
line3 line 3 
line4 
line five 
line 6 
line 7 
line eight 
line 9 
line 10 
line eleven'; 

for($x=1; $x<10; $x+=2){ // $x is the targeted line number 
    echo "$x preg_match: "; 
    echo preg_match('/(?:^.*$\R?){'.($x-1).'}\K.*/m',$string,$out)?$out[0]:'fail'; 
    echo "\n explode: "; 
    echo explode(PHP_EOL,$string)[$x-1]; 
    echo "\n---\n"; 
} 

출력, 당신은 당신이 인용에 문제가 발생 될 수 있습니다. 작은 따옴표는 \n을 두 개의 비 공백 문자 \n으로 렌더링합니다. 개행 문자처럼 취급하려면 큰 따옴표를 사용해야합니다.

Another demo :

echo 'PHP_EOL ',explode(PHP_EOL,$string)[0];  // PHP_EOL works 
echo "\n\n",'"\\n" ',explode("\n",$string)[0]; // "\n" works 
echo "\n\n","'\\n' ",explode('\n',$string)[0]; // '\n' doesn't work, the newline character is "literally" interpreted as "backslash n" 

출력 :

PHP_EOL line1  // This is correct 

"\n" line1  // This is correct 

'\n' line1  // The whole string is printed because there is no "backslash n" to explode on. 
line2 
line3 line 3 
line4 
line five 
line 6 
line 7 
line eight 
line 9 
line 10 
line eleven 
0

은 다음 사용해야합니다

$line = explode("\n", $lines); 

예를 들어 :

<?php 

$lines = "first line 
second line 
third line 
fourth line"; 

$line = explode("\n", $lines); 

echo $line[3]; 

이 의지 fourth line주세요. 배열의 첫 번째 요소는 0이고 두 번째 요소는 1, 세 번째 요소는 2 등입니다.

+0

예 ... 시도했습니다. 그것,하지만 난 $ 줄에있는 모든 문자열을 얻을 [0] –