채택완료

소스 간결하게 하고싶습니다.

아래 부분을 간결하게 하려면 어떻게 해야하는지 문의드립니다.

<?
  if(preg_match("/".$default['de_admin_company_domain1']."/i", $_SERVER[HTTP_HOST])){
  echo $default['de_admin_company_name1'];

  } else if(preg_match("/".$default['de_admin_company_domain2']."/i", $_SERVER[HTTP_HOST])){
  echo $default['de_admin_company_name2'];

  } else if(preg_match("/".$default['de_admin_company_domain3']."/i", $_SERVER[HTTP_HOST])){
  echo $default['de_admin_company_name3'];

  } else if(preg_match("/".$default['de_admin_company_domain4']."/i", $_SERVER[HTTP_HOST])){
  echo $default['de_admin_company_name4'];
  }
  ?> 

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

아래 코드처럼 break 문을 이용해서 for문 탈출이 가능합니다.

Copy
for ($i = 1; $i <= 4; $i++) {
    if (preg_match('/' . $default['de_admin_company_domain' . $i] . '/i', $_SERVER['HTTP_HOST'])) {
        echo $default['de_admin_company_name' . $i];
        break;
    }
}

답변에 대한 댓글 1개

감사합니다. 잘 적용했습니다.
Copy
for($i=1;$i<=4;$i++)
     if(preg_match("/".$default['de_admin_company_domain'.$i]."/i", $_SERVER[HTTP_HOST]))
        echo $default['de_admin_company_name'.$i];

소스 테스트는 진행하지 않았습니다. 오류가 있을 수 있습니다.

답변에 대한 댓글 2개

그건 4개가 한꺼번에 나오게되지 않을까요? ^^
$_SERVER[HTTP_HOST] 이 가지고 있는 도메인은 하나 뿐이니 4개가 모두 나오지는 않습니다.

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