10 개 이상의 줄로 구성된 변수에서 특정 줄만 가져 오는 방법은 무엇입니까?변수에서 특정 줄 가져 오기
$line = explode('/n', $lines);
하지만 지금 작업 : 이 코드를 시도했다.
이 내 전체 코드입니다 : 당신이 선으로 분할하려는 경우
<?php
$line = explode('\r\n', "i
c");
echo $line[1];
?>
10 개 이상의 줄로 구성된 변수에서 특정 줄만 가져 오는 방법은 무엇입니까?변수에서 특정 줄 가져 오기
$line = explode('/n', $lines);
하지만 지금 작업 : 이 코드를 시도했다.
이 내 전체 코드입니다 : 당신이 선으로 분할하려는 경우
<?php
$line = explode('\r\n', "i
c");
echo $line[1];
?>
왜 폭발이 왜 효과가 없는지 잘 모르겠습니다. 나는 구분자로 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
으로 렌더링합니다. 개행 문자처럼 취급하려면 큰 따옴표를 사용해야합니다.
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
은 다음 사용해야합니다
$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] –
줄 바꿈입니다 중'\ 연구 \ n' 또는'n' \, 이런 걸 이렇게 작동합니다 :'$ 라인 = 폭발 ('\ r \ n', $ lines); echo $ line [1];' – Cyclonecode
@Cyclonecode 시도했지만, $ line [0]에 모든 문자열이 표시됩니다. –
질문에 데이터를 추가 할 수 있습니까? –