function 만들고 있는데 도움좀 주실분요..ㅜㅜ 채택완료

2년 전 조회 2,280

wr_id 값에 따라 아이콘을 넣어주려고하는데요

현재 준비된 아이콘은 40개 입니다. 차츰 늘려가려고 하는데 시간이 좀 걸릴듯하구요

99개까지 다 만들고 나면 아래처럼 function 를 만들면 될거같은데...

아직 40개라 41부터 어떻게 처리해야할지 난감해서요.. 혹시다른 방법이 있나조언구합니다..

 

function number($tt) {

    $tt = substr($tt, -2);

    echo $tt;
}
echo number(6641);

답변 5개

채택된 답변
+20 포인트

다음과 같은 방법도 있으니 참고해 보세요

Copy
function getIcon($number) {
    $icons = [
        // 여기에 아이콘 URL 또는 클래스 등을 추가하세요
        // 인덱스는 0부터 시작합니다.
        'icon1', 'icon2', 'icon3', ..., 'icon40'
    ];

    $index = ($number % 40) - 1; // 40으로 나눈 나머지를 인덱스로 사용합니다.
    if ($index < 0) {
        $index = 39; // 0부터 39까지의 값을 가지므로, 나머지가 0일 때는 39로 설정합니다.
    }

    return $icons[$index];
}

$tt = 6641;
echo getIcon($tt);

 

또는 다음과 같이 해볼 수 있지 않을까 합니다

Copy
function number($tt) {
    $icon_path = G5_DATA_PATH.'/icon';
    $icon_url = G5_DATA_URL.'/icon';

    $icon = $icon_url.'/sample.gif'; // 아이콘 파일이 없을 때 기본 아이콘

    $tt = str_pad($tt, 2, '0', STR_PAD_LEFT); // 한 자리일 경우 앞에 0을 붙여 두 자리로 만듦
    $icon_name = $tt.'.gif'; // 아이콘 파일명이 $tt.gif라고 가정

    if (file_exists($icon_path.'/'.$icon_name)) {
        $icon = $icon_url.'/'.$icon_name;
    }

    return $icon;
}

파일명을 생성할 때도 항상 두 자리로 만들어주는 부분을 추가해 주면 가능하지 않을까 합니다.

즉 01.gif, 02.gif.......... 10.gif 와 같은 형태로 파일을 찾게 되는 구조입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

혹 js 코드가 필요하다면

https://sir.kr/g5_tip/16115

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

다음은 대체 이미지를 로드하도록 하는 예제입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

function number($tt) {

    $icon_path = G5_DATA_PATH.'/icon';
    $icon_url   = G5_DATA_URL.'/icon';

    $icon = $icon_url.'/sample.gif'; //아이콘 파일이 없을때 기본 아이콘 

    $tt = substr($tt, -2);
    $icon_name = $tt.'.gif'; //아이콘 파일명이 $tt.gif라고 가정

    if(file_exists($icon_path.'/'.$icon_name)) {

        $icon = $icon_url.'/'.$icon_name;
    }

    return $icon;
}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

저도 이렇게 했는데 아이콘이 40까지 밖에 없어서.. 41부터는 엑박이 뜨는데요..
기본 아이콘이 없어서 엑박이 뜨지 않을까요?

댓글을 작성하려면 로그인이 필요합니다.

echo $tt; (X)

return $tt; (O)

 

ps 비슷한 규칙이면 반복문 이용하세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고