"PHP awk 스타일 문자열 분리"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(사용자 2명의 중간 판 7개는 보이지 않습니다)
2번째 줄: 2번째 줄:


==소스 코드==
==소스 코드==
<source lang='php'>
<syntaxhighlight lang='php'>
<?php
<?php
function xmp_print($arr) { echo '<xmp>'; print_r($arr); echo '</xmp>'; }
function xmp_print($arr) { echo '<xmp>'; print_r($arr); echo '</xmp>'; }
9번째 줄: 9번째 줄:
eth0      1500  0 58441756      0      0      0 32632933      0      0      0 BMRU
eth0      1500  0 58441756      0      0      0 32632933      0      0      0 BMRU
lo        16436  0  129412      0      0      0  129412      0      0      0 LRU";
lo        16436  0  129412      0      0      0  129412      0      0      0 LRU";
xmp_print($str);


$rows = explode("\n", $str);
$rows = explode("\n", $str);
xmp_print($rows);
$rows2 = array();
$rows2 = array();
foreach($rows as $row) {
foreach($rows as $row) $rows2[] = preg_split("/[\s,]+/", rtrim($row));
$rows2[] = preg_split("/[\s,]+/", $row);
}
xmp_print($rows2);
xmp_print($rows2);
</source>
</syntaxhighlight>
*예제: http://jmnote.com/php/php_awk.php
*예제: http://zetawiki.com/ex/php/php_awk.php


==실행 결과==
==실행 결과==
<source lang='text'>
<syntaxhighlight lang='text'>
Iface      MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500  0 58441756      0      0      0 32632933      0      0      0 BMRU
lo        16436  0  129412      0      0      0  129412      0      0      0 LRU
Array
(
    [0] => Iface      MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    [1] => eth0      1500  0 58441756      0      0      0 32632933      0      0      0 BMRU
    [2] => lo        16436  0  129412      0      0      0  129412      0      0      0 LRU
)
Array
Array
(
(
84번째 줄: 70번째 줄:


)
)
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[awk_split]] (본 문서의 방법을 함수로 만든 것)
*[[awk]]
*[[awk]]
*[[xmp_print]]
*[[xmp_print]]
*[[awk_split]]
*[[PHP preg_grep()]]


[[분류: PHP]]
[[분류: PHP]]

2020년 11월 2일 (월) 02:34 기준 최신판

PHP awk 스타일 문자열 분리

1 소스 코드[ | ]

<?php
function xmp_print($arr) { echo '<xmp>'; print_r($arr); echo '</xmp>'; }

$str = "Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0 58441756      0      0      0 32632933      0      0      0 BMRU
lo        16436   0   129412      0      0      0   129412      0      0      0 LRU";

$rows = explode("\n", $str);
$rows2 = array();
foreach($rows as $row) $rows2[] = preg_split("/[\s,]+/", rtrim($row));
xmp_print($rows2);

2 실행 결과[ | ]

Array
(
    [0] => Array
        (
            [0] => Iface
            [1] => MTU
            [2] => Met
            [3] => RX-OK
            [4] => RX-ERR
            [5] => RX-DRP
            [6] => RX-OVR
            [7] => TX-OK
            [8] => TX-ERR
            [9] => TX-DRP
            [10] => TX-OVR
            [11] => Flg
        )

    [1] => Array
        (
            [0] => eth0
            [1] => 1500
            [2] => 0
            [3] => 58441756
            [4] => 0
            [5] => 0
            [6] => 0
            [7] => 32632933
            [8] => 0
            [9] => 0
            [10] => 0
            [11] => BMRU
        )

    [2] => Array
        (
            [0] => lo
            [1] => 16436
            [2] => 0
            [3] => 129412
            [4] => 0
            [5] => 0
            [6] => 0
            [7] => 129412
            [8] => 0
            [9] => 0
            [10] => 0
            [11] => LRU
        )

)

3 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}