함수관련 정보
함수관련본문
common.lib 에 cut_str($str,$len,$suffix="...") 란 함수가 있습니다
함수내용에 보면 $c = substr(str_pad(decbin(ord($str{$len})),8,'0',STR_PAD_LEFT),0,2);
이런 구분이 있는데 얇팍한 지식으로 풀이를 하자면 ....
ord($str{$len}) 에서는 문자열에서 첫번째 문자의 아스크 코드값을 반환 $str이 $len 값보다 작으면 - 0
decbin(ord($str{$len})) 에서는 ord 결과값인 0을 2진수로 반환 결과는 - 0
str_pad(decbin(ord($str{$len})),8,'0',STR_PAD_LEFT) 에서는 decbin함수에 얻어진 값 0 을
8자리로 만들고(한글은 나누기2) 모자르면 0으로 채워라 결과는 00000000(0이 8개)
substr(str_pad(decbin(ord($str{$len})),8,'0',STR_PAD_LEFT),0,2); 에서는 str_pad 함수로 얻어진
00000000 을 앞에서 부터 2자리까지만 반환 - 결과는 00입니다
질문좀 드릴께요
1. 결과적으로 보면 무조건 결과물은 00인대 이걸 이함수에서 구하는 이유는 뭔가요???
참고로 get_list 함수를 보다 이 함수에 폼함되어 있길래 질문드립니다 '
get_list 함수는 제목을 가공해서 정해진 글자수만큼 자르고 ... 을 붙이는 기능인거 같은대
고수님들 도와주세요
함수내용에 보면 $c = substr(str_pad(decbin(ord($str{$len})),8,'0',STR_PAD_LEFT),0,2);
이런 구분이 있는데 얇팍한 지식으로 풀이를 하자면 ....
ord($str{$len}) 에서는 문자열에서 첫번째 문자의 아스크 코드값을 반환 $str이 $len 값보다 작으면 - 0
decbin(ord($str{$len})) 에서는 ord 결과값인 0을 2진수로 반환 결과는 - 0
str_pad(decbin(ord($str{$len})),8,'0',STR_PAD_LEFT) 에서는 decbin함수에 얻어진 값 0 을
8자리로 만들고(한글은 나누기2) 모자르면 0으로 채워라 결과는 00000000(0이 8개)
substr(str_pad(decbin(ord($str{$len})),8,'0',STR_PAD_LEFT),0,2); 에서는 str_pad 함수로 얻어진
00000000 을 앞에서 부터 2자리까지만 반환 - 결과는 00입니다
질문좀 드릴께요
1. 결과적으로 보면 무조건 결과물은 00인대 이걸 이함수에서 구하는 이유는 뭔가요???
참고로 get_list 함수를 보다 이 함수에 폼함되어 있길래 질문드립니다 '
get_list 함수는 제목을 가공해서 정해진 글자수만큼 자르고 ... 을 붙이는 기능인거 같은대
고수님들 도와주세요
댓글 전체
그렇게 나오던지요??
음..해당 코드는 1문자의 길이값을 확인합니다.
아시는것처럼 한글/한자 등의 경우는 1문자는 2바이트 입니다. 그래서 문자로 길이값을 구하면 글자가 짤려서 깨지는 현상이 생기기 때문에 길이값이 1~3자리인지를 구분하고 거기에 맞게 잘라내는 역할을 합니다.
궁금하신것에 해답이 될려나 모르겠습니다. ;;
음..해당 코드는 1문자의 길이값을 확인합니다.
아시는것처럼 한글/한자 등의 경우는 1문자는 2바이트 입니다. 그래서 문자로 길이값을 구하면 글자가 짤려서 깨지는 현상이 생기기 때문에 길이값이 1~3자리인지를 구분하고 거기에 맞게 잘라내는 역할을 합니다.
궁금하신것에 해답이 될려나 모르겠습니다. ;;
감사합니다~~