2016-08-27 3 views
3

배열의 키를 변수로 추출하려고합니다. 내가 그 코드를 다음 있습니다 : 라인 (11 개) 에코 제대로 "BANTYA을"배열 키로 가변 수를 만드는 방법

01 | $array = [ 
02 |  "bantya" => "BANTYA", 
03 |  "sontya" => "SONTYA", 
04 |  "niltya" => "NILTYA" 
05 | ]; 
06 | 
07 | function makeVar ($array) { 
08 |  foreach ($array as $key => $value) { 
09 |   $$key = $value; 
10 |  } 
11 |  echo $bantya; 
12 | } 
13 | 
14 | makeVar($array); 
15 | echo $bantya; 

문제이지만, 라인 (15)에 대해 같은 것은 사실이 아니다. 그것은 말한다 :

Notice: Undefined variable: bantya in file\path on line 15

내 질문은, 왜이 오류가 표시되어 있습니까? makeVar 함수가 선언 된 후 어떻게 15 행을 "BANTYA"(function makeVar($array)의 범위를 벗어남)로 출력 할 수 있습니까?

미리 감사드립니다.

+4

Woops합니다. 'extract()'를 사용하십시오 : http://php.net/manual/en/function.extract.php – Bailey

+0

이것은 쓸모없는 것처럼 보입니다. 'echo $ array [ 'bantya']' –

+0

전역 변수를 만들기 위해'$$ key' 대신에'$ GLOBALS [$ key]'에 할당하십시오. 아니면 그냥'extract()'를 사용하십시오. – Barmar

답변

1

나는 그것이 도움이 될 것이라고 생각합니다. PHP에서는 extract()을 사용하십시오.

$array = ( "bantya" => "BANTYA", "sontya" => "SONTYA", "niltya" => "NILTYA" ); extract($array); var_dump($bantya);

아래의 예를 참조하십시오 그리고 당신은 새로운 VAR을 구하십시오 $bantya, $sontya, $niltya