패턴 분할 관련 질문입니다.

패턴 분할 관련 질문입니다.

QA

패턴 분할 관련 질문입니다.

답변 1

본문


[0] => [20211109 10:29:02][160] [      SaleDlg::SetInsOrderDetail]    Row[01] [신규등록    ] ProdCd[000073] Qty[  1] Amt[        3500] Dc[        0] ProdNm[라면] SDS_ORG_DTL_NO[]

 

위의 정보값을 [ ] 괄호 단위로 분리해서 저장하고 싶습니다.

어떤 방법을 이용하면 별도의 분리가 가능할까요?

예) 

[0] => [20211109 10:29:02]

[1] => [160]

.... 등등

이 질문에 댓글 쓰기 :

답변 1


$str = '[20211109 10:29:02][160] [      SaleDlg::SetInsOrderDetail]    Row[01] [신규등록    ] ProdCd[000073] Qty[  1] Amt[        3500] Dc[        0] ProdNm[라면] SDS_ORG_DTL_NO[]';
preg_match_all('/\[[^]]*\]/', $str, $matches);
print_r($matches[0]);
/*
Array
(
    [0] => [20211109 10:29:02]
    [1] => [160]
    [2] => [      SaleDlg::SetInsOrderDetail]
    [3] => [01]
    [4] => [신규등록    ]
    [5] => [000073]
    [6] => [  1]
    [7] => [        3500]
    [8] => [        0]
    [9] => [라면]
    [10] => []
)
*/

고정된 길이면 다른 방법으로도 구할 수 있습니다.

뭐 구하는 방법이야 다양한데 생략!


$str = '[20211109 10:29:02][160] [      SaleDlg::SetInsOrderDetail]    Row[01] [신규등록    ] ProdCd[000073] Qty[  1] Amt[        3500] Dc[        0] ProdNm[라면] SDS_ORG_DTL_NO[]';
preg_match_all('/\[([^]]*)\]/', $str, $matches);
$matches[1] = array_map('trim', $matches[1]);
print_r($matches[1]);
/*
Array
(
    [0] => 20211109 10:29:02
    [1] => 160
    [2] => SaleDlg::SetInsOrderDetail
    [3] => 01
    [4] => 신규등록
    [5] => 000073
    [6] => 1
    [7] => 3500
    [8] => 0
    [9] => 라면
    [10] => 
)
*/

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 10
© SIRSOFT
현재 페이지 제일 처음으로