2013-06-10 2 views
-3

데이터베이스 쿼리를 수행 한 후 자동으로 채울 배열이 있습니다.배열의 각 요소를 변수에 자동으로 할당

예를 들어, @array의 길이는 데이터베이스 쿼리 결과에 따라 달라집니다. 배열의 각 요소를 다른 변수에 할당하려고합니다. 예를 들어

:

my $length = @array; 

길이 3이어서 3 개 변수는이 순서로 할당 된 배열의 요소를 자동으로 생성한다 같으면.

$var1 = $array[0]; 
$var2 = $array[1]; 
$var3 = $array[2]; 
+8

왜? 배열의 핵심은 각 항목 그룹에 대해 별도의 변수를 작성하지 않아도된다는 것입니다. – Quentin

+2

왜 그런 짓을하고 싶니? 그것은 다소 바보 같은 짓을하고, 꽤 중복됩니다. – TLP

+3

왜? '$ var2' 대신'$ array [1]'을 사용하십시오; 그것은 훨씬 더 유연합니다! 값에 의미있는 이름을주고 싶다면,리스트 할당을 사용할 수 있습니다 :'my ($ id, $ name, $ age) = @ $ row; – amon

답변

4

길이 3이어서 3 개 변수는이 순서로 할당 된 배열의 요소를 자동으로 생성한다 같으면.

아니요, 변수를이 방식으로 생성해서는 안됩니다. 통신 오류의 오프 기회에


Why it's stupid to "use a variable as a variable name"

은, 아마도 다음과 같은 찾고 있습니다 : @$row이 너무 적은 필드가 포함되어있는 경우 확정적

my ($id, $name, $address, $phone) = @$row; 

나중에 변수가 될 것입니다.

관련 문제