2013-04-19 2 views
0

숫자가 많습니다. 일부 숫자는 한 자릿수이고 다른 숫자는 많은 자릿수입니다. 각 숫자에 대한 문자열을 만들어야합니다. 문자열 길이는 8 자 여야합니다 (항상).PHP : 숫자를 고정 길이의 인코딩 된 문자열로 변환

각 번호에 대해 좋은 문자열을 제공하는 base64encode로 시도했지만 ... 한 자리 숫자에 대해서만 3 문자 만 있습니다.

누구나 해결책이 있습니까?

+0

최대 자릿수가 있습니까? – hek2mgl

답변

2
$substitutes = range('a', 'j'); 
$formatted = sprintf('%010d', $number); 
$string  = preg_replace_callback('/./', function ($m) use ($substitutes) { 
        return $substitutes[$m[0]]; 
       }, $formatted); 

echo $string; 

그리고 이것은 사실상 "무차별 대입"버전이므로,이를 수행하는 데 더 빠른 방법이 있다고 확신합니다. 나는 디코딩 알고리즘과 함께 이들을 이해하도록 할 것이다.

+0

감사합니다. 나는 그것을 밖으로 시도 할 것이다. –

+0

그래, 그게 정말 도움이되지 않습니다. 너는 몹시 기뻐 날에 끈을 채울 뿐이다. 그건 이상하지 않아. –

+0

그 밖의 무엇을 원하니? – deceze

관련 문제