define() 전역변수를 for문으로 여러개 불러오려면?????

define() 전역변수를 for문으로 여러개 불러오려면?????

QA

define() 전역변수를 for문으로 여러개 불러오려면?????

본문

define('test1', '테스트1번');

define('test2', '테스트2번');

define('test3', '테스트3번');

define('test4', '테스트4번');

 

 

이런식으로 전역변수를 정해놨을때

for문이나 반복문으로 불러올수는 없나요?

for($i=1; $i<=count($count); $i++) {

   echo test.$i;

}

이렇게 불러오니 그냥 test1 이라고만 불러와요ㅠㅠㅠ 

이 질문에 댓글 쓰기 :

답변 2

constant() 함수를 이용해 보세요.


define('test1', '테스트1번');
define('test2', '테스트2번');
define('test3', '테스트3번');
define('test4', '테스트4번');
for($i=1; $i<=4; $i++) {
   echo constant('test'.$i);
}

 

또는, 상수를 배열에 넣고 해당 배열을 호출하는 식으로 가능.

 

PS.

PHP에서는 기본적으로 상수명을 동적으로 호출하는 기능이 제공되지 않음. 즉, 상수명 자체를 반복문을 통해 직접 참조하는 방식은 constant() 없이 구현할 수 없음.


define('test1', '테스트1번');
define('test2', '테스트2번');
define('test3', '테스트3번');
define('test4', '테스트4번');
$count = 4;
for ($i = 1; $i <= $count; $i++) {
    $const_name = 'test' . $i;
    echo constant($const_name) . "<br>";
}
 
답변을 작성하시기 전에 로그인 해주세요.
전체 128,330 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT