for문 변수 관련

for문 변수 관련

QA

for문 변수 관련

본문


<? 
for ($i=1; $i <= $car_number_chk; $i++) { ?>
   <input type='text' name='car_number<?php echo $i ?>' value='<?php echo $car_number.$i ?>'>
<?php } ?>

 

<?php echo $car_number1 ?> 로 하면 값을 잘 받아오는데

 

<?php echo $car_number.$i ?> 게 하면 왜 안되는거죠... 

 

for문 이니까 <?php echo $car_number.$i ?> 게 하면 <?php echo $car_number1 ?> 게 되는게 아닌가요?

 

이 질문에 댓글 쓰기 :

답변 3

변수명과 문자열을 갈리신거 같아보입니다.

 

하고자 하시는건

${"car_number".$i}

혹은

$car_number = "car_number".$i;

$$car_number

를 원하시는것으로 보여집니다.

 

즉, 가변형 변수를 원하시느거죠?

 

변수가 이미 어딘가서 선언되어있거나하면

중간에 변수를 변경하는게 더 어렵고 고생스러울수있습니다.

그럴때는 

변수명과 같은 문자열을 만들어

문자열의 이름을 가진 변수로 치환시키는 방법이 좀더 효율적이겠죠

$$variable 이런형태는

$variable 이 가진 값의 이름의 변수를 지칭합니다.

일종의 포인트 트릭인데 

쉽게 생각해서 문자열을 변수로 만들기 라고 생각하시면 쉽습니다.

 

이때 주의하실점은 만드는사람은 의도를 가지고 만들지만, 

나중에 다른사람이 유지보수를 하거나 하게되면 가독성이 매우 떨어져서 로직의 흐름을 파악하기 어려워집니다.

 

<?php echo $car_number1 ?>는 $car_number1에 할당된 값을 출력해주는것이고

<?php echo $car_number.$i ?> 는 $car_number에 할당된 값, 그리고 $i에 할당된 값을 붙여서 출력해주는겁니다.

for문으로 순차적으로 증가하거나 특정한 값을 특정한 규칙으로 증가하거나 감소하는 형태로 활용하고 싶으시면 $car_number1이 아닌 $car_number[1] 등의 배열로 처리하세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 118
QA 내용 검색

회원로그인

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