테스트 사이트 - 개발 중인 베타 버전입니다

php 줄바꿈 으로 분리 후 탭으로 구분하기 값 저장 채택완료

돌소프트 7년 전 조회 4,093

안녕하세요? php 초보자 입니다.

초보라 책을 봐도 서핑을 해도 잘 안되네요..

아래 스크립트의  결과는 --다음과 같습니다.

 

인덱스번호 0의 값: My text1 인덱스번호 1의 값: My text2 인덱스번호 2의 값: My text3

--- 위 결과값에 대하여 다시 탭으로 구분하고자 하는 방법은 어찌 되는지요?

--- 도와 주시면 정말 고맙겠습니다.

예) My text1 에서 탭으로 구분되어 있습니다.

    원하는 결과값은 

My

text1 

My

text2

My

text3

이렇게 처음 줄바꿈으로 분리한 후 다시 탭으로 분리하여 값을 만들어 내는 것입니다.  

 

</p>

<p>  <?php

    $str = "My    text1\nMy    text2\nMy    text3";

    $arr = explode("\n", $str);

    //$arr_tt = explode('\t',$arr);

    //var_dump($test_array);

    //var_dump($arr);

    foreach($arr as $index =>$value){

        echo "인덱스번호 {$index}의 값: {$value}";

        echo '
';

    }</p>

<p>

?></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
7년 전

foreach를 한 번더 돌려서 변환하는 방법입니다.

저기 $str의 탭(공백)을 구분하는 부분이 문제네요.

탭공백 대신 탭문자(\t) 를 사용하면 조금 더 알아보기 쉬웠을거 같습니다.

 

</p>

<p><?php</p>

<p>$str = "My text1\nMy text2\nMy text3";</p>

<p>$arr = explode("\n", $str);</p>

<p>foreach($arr as $index =>$value){</p>

<p>    echo "인덱스번호 {$index}의 값: {$value}
";</p>

<p>}</p>

<p> </p>

<p>foreach($arr as $value){</p>

<p>    $tmp = explode(" ", $value); # 공백이 아닌 탭공백임</p>

<p>    echo $tmp[0].'
'.$tmp[1].'
';</p>

<p>}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

돌소프트
7년 전
감사합니다. 잘 되네요^^
한가지만 더 질문드립니다. 아니, 도움 주셨으면 합니다.
자료수가 가변적이 잖아요~~이걸 디비에 insert하기 쿼리문은 어찌 하는지요?
한개일 때는 아래와 같이 하면 잘 입력 되는데..
$sql = "INSERT INTO a_test01(필드명1,필드명2....n) VALUES(변수값1, 변수값2...n갑')";

위 질문의 결과값들을 DB에 입력은 어떻게 하는지요 ?
스크립트를 작성할 수가 없어요(너무 초보라서 그럽니다..)
핫워드
7년 전
@돌소프트 역시 foreach 문 안에서 쿼리문을 작성하셔서 입력하시면 됩니다.
예를 들면
foreach() {
여기에 insert 쿼리문
}
돌소프트
7년 전
@핫워드 네.......... 잘 되는 군요...^^
감사합니다.^^ 정말 감사합니다... 이것 찾아 해 보느라.......엄청 많은 셔핑을
하였습니다. 덕분에 공부는 많이 하였지만,ㅎㅎ

댓글을 작성하려면 로그인이 필요합니다.

7년 전

요건 str_replace를 이용한 방법입니다.

</p>

<pre>
foreach($arr as $value){
    echo str_replace("    ", "
", $value).'
';
}

또 찾아보면 다른 방법이 여럿 있을거 같네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인