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

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

QA

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

답변 2

본문

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>";
}
 
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #php ×
전체 15,826
© SIRSOFT
현재 페이지 제일 처음으로