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개

채택된 답변
+20 포인트

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

Copy
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() 없이 구현할 수 없음.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

자세한 설명 너무 감사합니다!!!!!!!!!!

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

Copy
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>";
}
로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고