2011-03-18 5 views
2

는 I 배열 (18 키)이있다. 당신이 4 키가 누락 볼 수array_flip() 및 UTF8

Array 
(
    [A] => Ą 
    [C] => Č 
    [E] => Ė 
    [I] => Į 
    [S] => Š 
    [U] => Ū 
    [Z] => Ž 
    [a] => ą 
    [c] => č 
    [e] => ė 
    [i] => į 
    [s] => š 
    [u] => ū 
    [z] => ž 
) 

('E'를 'U', 'E', 'U')을 : 나는 $lt = array_flip($en);을 수행 할 때 는 다음과 같은 반환합니다. 여기서 뭐하는거야?

답변

10

여기 UTF-8과 관련이 없습니다. 그냥 간단한 배열/해시 테이블 매커니즘.

이러한 키 : 쌍 동일 값

'Ę' => 'E', 
'Ė' => 'E', 

'Ų' => 'U', 
'Ū' => 'U', 

'ę' => 'e', 
'ė' => 'e', 

'ų' => 'u', 
'ū' => 'u', 

대응한다. 배열을 뒤집을 때 단일 배열에 두 개의 동일한 키가있을 수 없으므로 각 쌍의 다음 배열이 이전 배열보다 우선합니다. 따라서 결과 :

[E] => Ė 

[U] => Ū 

[e] => ė 

[u] => ū 

이 같은 리투아니아어 문자 영어 문자지도를해야 할 경우 같은 영어 문자 키에 해당하는 배열에서 여러 리투아니아어 편지를 배치 사용자 정의 함수를 작성 할 수 있습니다 (또는 오히려 , 값).

+0

젠장, 아침 차 한잔 드려야한다. 그건 내 바보 같았다. 내 눈을 열어 주셔서 감사합니다 :) – egis