2010-12-27 3 views
0

이것은 Drupal CCK 필드를 가져 오는 것과 관련된 질문입니다 (변경 사항이있을 경우를 대비하여)."변수 변수"구문

비슷한 이름의 여러 Drupal CCK 필드가 있습니다. 그들은 끝에 숫자와 같은 이름을 가지고 있습니다. 나는이 분야 (총 10 개 분야)에서 가치를 끌어 내고 싶다. 필드 값에 액세스하기위한 구문입니다.

$node->cck_field_1[0]['value'] 
$node->cck_field_2[0]['value'] 
$node->cck_field_3[0]['value'] 

... 등입니다.

그들은 모두 별도의 필드이기 때문에 번호가 매겨져 있으므로 필요한 부분을 작성하기 위해 점차적으로 반복하고 싶습니다.이 필드에 액세스하는 것보다 훨씬 많은 것이 있습니다. 데이터,하지만 그들은 나머지의 결정 요인),하지만 코드의 해당 부분에 변수를 삽입하는 방법을 알아낼 수 없습니다.

예를 들어, ($i가 증가 숫자 변수 인 경우), 내가 변수로 다음 문자열을 쓸 수 있도록하고 싶습니다 :

'$node->cck_field_' . $i . '[0]["value"]' 

내가 변수를 만들기 위해 중괄호를 사용하는 방법에 대한 이해를 문자열에서 이름을 가져 오지만 변수가 필요한 부분은 문자열 외부에 있어야합니다. 예 :

${node}->cck_field_1[0]['value'] 

을하지만이되지 않습니다 :이 작동

${node->cck_field_1}[0]['value'] 

내가 자리에 $ 내가 사용할 수 있도록

그래서이 쓸 수있는 방법을 (그래서 나는 ${'node->cck_field'.$i}[0]['value']을 쓸 수 없습니다) 번호의?

답변

6

이 작동합니다 :

$node->{'cck_field_' . $i}[0]['value'] 
+0

완벽! 정말 고마워; 나는 그 모든 것을 구하려고 노력했다. – Kerri