compact , extract (변수 -> 배열, 배열 -> 변수) 전역변수 화 등등

compact , extract (변수 -> 배열, 배열 -> 변수) 전역변수 화 등등


예 1. compact() 예제코드

<?php
$city
= "San Francisco"
;
$state = "CA"
;
$event = "SIGGRAPH"
;

$location_vars = array ("city", "state"
);

$result = compact ("event", "nothing_here", $location_vars
);
?>

 


예 1. extract() 예제코드

<?php

/* Suppose that $var_array is an array returned from
   wddx_deserialize */

$size = "large"
;
$var_array = array ("color" => "blue"
,
                    
"size"  => "medium"
,
                    
"shape" => "sphere"
);
extract ($var_array, EXTR_PREFIX_SAME, "wddx"
);

print
"$color, $size, $shape, $wddx_size "
;

?>

 


extract()는 각 키가 유효한 변수명을 갖을수 있는지 검사 한다. 또한 심볼 테이블에 존재하는 변수들과의 충돌도 검사한다. 유효하지않은/숫자 키와 충돌인 경우를 취급하는 방법은 extract_type에 의해 결정된다. 다음 값들 중 하나가 될 수 있다:

EXTR_OVERWRITE

충돌이 발생하면, 기존 변수를 덮어쓴다.

EXTR_SKIP

충돌이 발생하면, 기존 변수를 덮어쓰지 않는다. variable.

EXTR_PREFIX_SAME

충돌이 발생하면, prefix를 변수명 앞에 첨가한다.

EXTR_PREFIX_ALL

prefix를 모든 변수명 앞에 첨가한다. PHP 4.0.5에서 시작하여, 이 플래그는 숫자 변수도 적용된다.

EXTR_PREFIX_INVALID

유효하지 않은/숫자 변수명 앞에만 prefix를 첨가한다. 이 플래그는 PHP 4.0.5에서 추가되었다.

EXTR_IF_EXISTS

현재 심볼 테이블에 이미 존재하는 변수만 덮어쓴다. 그렇지 않으면 아무것도 하지 않는다. 이 플래그는 유효한 변수 목록을 정의하고 이 변수들만 추출하는데 유용하다. 예를 들어, 이런 변수는 $_REQUEST에서 정의된 변수들이다. 이 플래그는 PHP 4.2.0에서 추가되었다.

EXTR_PREFIX_IF_EXISTS

현재 심볼 테이블에 앞첨가된 버전의 같은 변수가 존재할때만 앞첨가된 변수명을 생성한다. 이 플래그는 PHP 4.2.0에서 추가되었다.

EXTR_REFS

변수를 참조로써 추출한다. 입력된 변수 값이 var_array 매개변수의 값을 참조한다는 의미를 갖는다. 이 플래그는 그 자체로나 다른 플래그와 OR 연산하여 extract_type에서 사용할수 있다. 이 플래그는 PHP 4.3.0에서 추가되었다.

extract_type가 설정되지 않으면, EXTR_OVERWRITE가 설정되 있다고 가정한다.

 


댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -