2010-04-08 2 views
3

나는 2,2,3,3- 문자의 덩어리로 문자열을 분할해야하고 압축을 풀고 사용하여 펄에서 그렇게 할 수 있었다 : 같은 기능이 작동하지 않습니다 그러나PHP 문자열 분할

unpack("A2A2A3A3", 'thisisloremipsum'); 

을 PHP에서 출력 결과는 다음과 같습니다.

Array 
(
    [A2A3A3] => th 
) 

언팩을 사용하면 어떻게 될까요? 나는 그것을 위해 함수를 작성하고 싶지 않다. 미리

감사 unpack의 매뉴얼 페이지 인용

답변

6

: 압축 해제 된 데이터의 결합 배열에 저장 같이

unpack() 펄로부터 약간 다른 작동한다.
이름으로 다른 형식의 코드을 당신은이 작업을 수행하고 슬래시 /로 구분. 의미


, 그 같은 것을 사용 :

$a = unpack("A2first/A2second/A3third/A3fourth", 'thisisloremipsum'); 
var_dump($a); 

다음과 같은 출력을 얻을 것이다 :이 기능을 사용하지 않는,하지만에 따라 적이

array 
    'first' => string 'th' (length=2) 
    'second' => string 'is' (length=2) 
    'third' => string 'isl' (length=3) 
    'fourth' => string 'ore' (length=3) 
+0

감사합니다. 나는 그들을 슬래쉬 (slash)로 구분했지만 명명 된 것을 알아낼 수 없었다. print_r (unpack ("A2/A2/A3/A3", 'thisisloremipsum'))); 이 작업이 작동하지 않습니다. 최소한 인덱스를 만들 수는 있습니다. :/다시 한번 감사드립니다 .. – deniz

+0

기본적으로 숫자 인덱스를 만들 수 있다면 도움이 될 것입니다. 그러나 그것이 작동하는 방식이 아니므로 선택할 수있는 것이 많지 않습니다 ^^ –

0

을 문서, A 문자는 "SPACE-padded string"을 의미합니다. 그래서 첫 번째 단어의 처음 두 문자 만 가져 오는 것 같아요.

unpack("A2A2A3A3", 'this is lorem ipsum');을 사용해 보셨습니까?