채택완료

치환하여 보여주기

2020-12-12 (토) 14:44:57 2,295

리스트에서 

<?php echo get_text($row['od_group']); ?>

이걸 불러오면

a,b 또는 a,c 또는 b,c,d 또는 e 이런식으로 출력이 됩니다.

이걸 a는 사과, b는 배, c는 자몽 이렇게 치환이 될까요?

a,b는 사과,배, a,c는 사과,자몽 이런식으로요

답변 3개 / 댓글 2개

채택된 답변
+20 포인트

str_replace를 사용하시거나 

switch case문으로 분기하시면 됩니다. 

답변에 대한 댓글 1개

스위치 케이스 같은 경우

a,b,c 이런걸 구분하나요?

예를 들면 아예 설정을 a,b = 또는 a,c는 이런식으로 조건을 다 정확히 써줘야 하나요?
Copy
<?php

function replaceFruit ($ag_str)
{
    // 구분자
    $delim = ',';

    // 구분자로 이루어진 문자열을 배열로 변환
    $arr =  explode ($delim, $ag_str);

    for ($i=0; $i < count ($arr); $i++) {
        $arr[$i] = replaceFruitSub ($arr[$i]);
    }

    // 배열을 구분자로 이루어진 문자열로 변환
    return implode($delim, $arr);
}

function replaceFruitSub ($ag_str)
{
    $rt_str = $ag_str;

    switch ($ag_str) {
    case 'a':
    case 'A':
        $rt_str = '사과';
        break;

    case 'B':
    case 'b':
        $rt_str = '배';
        break;

    case 'C':
    case 'c':
        $rt_str = '자몽';
        break;

    default:
        $rt_str = $ag_str;
    }

    return $rt_str;
}


echo "TEST ----" .PHP_EOL;
echo "replaceFruit (한개): " . replaceFruit ('a') .PHP_EOL;
echo "replaceFruit (두개): " . replaceFruit ('a,b') .PHP_EOL;
echo "replaceFruit (두개-대문자): " . replaceFruit ('A,C') .PHP_EOL;
echo "replaceFruit (세개): " . replaceFruit ('a,b,c') .PHP_EOL;
echo "replaceFruit (역순): " . replaceFruit ('c,b,a') .PHP_EOL;
echo "replaceFruit (부분치환): " . replaceFruit ('D,b') .PHP_EOL;
echo "replaceFruit (치환안됨): " . replaceFruit ('ab') .PHP_EOL;
echo "replaceFruit (빈칸): " . replaceFruit ('') .PHP_EOL;


/*
<?php echo get_text($row['od_group']); ?>
아래와 같이 적용
<?php echo replaceFruit( get_text($row['od_group']) ); ?>
*/

?>

답변에 대한 댓글 1개

와 너무 감사합니다 ㅜㅜ

구분보다는 조건입니다. 값을 가져와서 a인경우 b인경우 c인경우로 분기하는것입니다. 

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