일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바스크립트
- JavaScript
- 자바
- php
- 6월 공모주 청약 일정
- codeigniter
- 코드이그나이터
- 주식 청약
- 주식 청약 일정
- html
- 공모주 청약 일정
- Eclipse
- Stock ipo
- css
- IPO
- 공모주 청약
- 리눅스
- jquery
- java
- 7월 공모주 청약 일정
- Oracle
- SQL
- 맥
- MYSQL
- Stock
- 오라클
- 공모주
- 제이쿼리
- 주식
- linux
- Today
- Total
개발자의 끄적끄적
[php] 가변변수 사용법 본문
[php] 가변변수 사용법
때때로 가변 변수명을 갖을수 있는것다는 것은 편리함을 준다.
즉, 변수명이 유동적으로 설정되거나 사용될수 있다. 일반적인 변수는 다음과 같은 구문에 의해 설정된다:
1 2 3 |
<?php $a = 'hello'; ?> |
가변변수는 변수값을 취해서 변수명으로 취급한다.
위 예제코드는, hello를 두개의 달러사인을 사용하여 변수명으로 사용할수 있다.
1 2 3 |
<?php $$a = 'world'; ?> |
이 지점에서 두 변수가 선언되었고 PHP 심볼 트리에 저장된다: $a는 "hello" 값을 갖고 $hello는 "world" 값을 갖게 된다. 따라서, 이 구문:
1 2 3 |
<?php echo "$a ${$a}"; ?> |
즉, 둘다 hello world를 출력한다.
배열을 갖는 가변변수를 사용하기 위해서는 애매한 문제를 해결해야 한다. 즉 $$a[1]를 쓴다면 해석기는 $a[1]가 변수를 의미하는지 알수 있어야 한다.
또는 $$a가 변수이기를 바라고, [1]가 그 변수의 인덱스인지 알수 있어야 한다. 이런 애매한 문제를 해결하기 위한 문법: 첫번째 목적을 위해 ${$a[1]}과 두번째 목적을 위해 ${$a}[1]을 들수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php
$nameTypes = array("first", "last", "company"); $name_first = "C.m.A"; $name_last = "뭐야"; $name_company = "chongmoa.com";
foreach($nameTypes as $type) echo ${"name_$type"} . "<br />";
echo "$name_first\n$name_last\n$name_company <br />"; ?> |
출력결과
C.m.A
뭐야
chongmoa.com
C.m.A 뭐야 chongmoa.com
1 2 3 4 5 6 7 8 9 10 11 |
<? $arr = array("히트상품","추천상품","최신상품","인기상품","할인상품"); for($idx=0; $idx<$arr_tot; $idx++) { $_tmp_cma_type = ${"cma_type".($idx+1)}; ?> <label> <input type="checkbox" name="cma_type<?=($idx+1);?>" id="cma_type<?=($idx+1);?>" value="1"<? if($_tmp_cma_type == "1") { ?> checked="checked"<? } ?> /> <img src="/img/<?=$arr[$idx];?>" alt=""> </label> <? } ?> |
예제
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<? $arr = array( "misu"=>"미수금", "cancel_price"=>"반품,품절", "refund_price"=>"환불", "receipt_point"=>"포인트주문", "coupon"=>"쿠폰", "escrow"=>"에스크로", ); ?> <? foreach($arr AS $key=>$val) : ?> <label for="<?=$key;?>"><input type="checkbox" name="<?=$_key; ?>" value="Y" id="<?=$key;?>"<? if(${$_key} == "Y") : ?> checked="checked"<? endif; ?> /><?=$_val ;?></label> <? endforeach; ?> |
'개발 > php' 카테고리의 다른 글
[php] codeigniter zip library 활용 예제 (0) | 2020.02.16 |
---|---|
[php] html tag 제거 정규식 (0) | 2020.02.13 |
[php] codeigniter 404_override 설정 (0) | 2020.02.07 |
[php] codeigniter zip 라이브러리 사용법 (0) | 2020.02.06 |
[php] 도메인으로 아이피확인 gethostbyname [펌] (0) | 2020.02.05 |