치환하여 보여주기
본문
리스트에서
<?php echo get_text($row['od_group']); ?>
이걸 불러오면
a,b 또는 a,c 또는 b,c,d 또는 e 이런식으로 출력이 됩니다.
이걸 a는 사과, b는 배, c는 자몽 이렇게 치환이 될까요?
a,b는 사과,배, a,c는 사과,자몽 이런식으로요
답변 3
str_replace를 사용하시거나
switch case문으로 분기하시면 됩니다.
구분보다는 조건입니다. 값을 가져와서 a인경우 b인경우 c인경우로 분기하는것입니다.
<?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']) ); ?>
*/
?>
답변을 작성하시기 전에 로그인 해주세요.