2014-12-24 5 views
1

저는 이렇게하고 싶지만 똑똑합니다.PHP 변수 이름을 동적으로 수정하십시오.

$armor = $row['armor']; 
$elemental_armor = $row['elemental_armor']; 
... 
$unlock_field=mysql_result($wiki_result_set,$i,"unlock_field"); 

if ($unlock_field == "armor"){ 
    $wiki_armor = $armor; 
} else if ($unlock_field == "elemental_armor"){ 
    $wiki_elemental_armor = $elemental_armor; 
} 

이렇게 할 수 있나요?

$wiki_{$unlock_field} = {$unlock_field}; 

잠재적으로 간단한 질문입니다. 나는 틀림없이 PHP 초보자입니다.

+2

하지만 매우 나쁜 습관입니다. 예를 들어 배열을 대신 사용하십시오. – Gerifield

+1

PHP는 이것을 [변수 변수] (http://php.net/manual/en/language.variables.variable.php)라고 부릅니다. – Sjoerd

+0

시도했을 때 코드가 작동하지 않았습니다. 내 문법/조언을 고칠 수 있습니까? 감사. – KisnardOnline

답변

2
$var = "wiki_{$unlock_field}"; 
$$var = $unlock_field; 
+2

'$ answer. = "text"? +1 : -1' – mario

+0

어레이가 더 좋은 해결책이라고 확신하지만 그는 var 변수를 사용하는 방법을 물어 봤습니다. – dynamic

+0

배열 방법이 더 좋다는 것을 말하면서 나는 지혜를 신뢰합니다. 나는 어느 방법이 최선인지, 또는 내가 무엇을 요구하고 있는지 알지 못한다 : D – KisnardOnline

1

$ wiki_를 배열 변수로 사용할 수 있습니다.

$armor = $row['armor']; 
$elemental_armor = $row['elemental_armor']; 
... 
$unlock_field=mysql_result($wiki_result_set,$i,"unlock_field"); 
$wiki_[$unlock_field] = $row[$unlock_field]; 
1

이렇게 할 이유가 없습니다. 대신 배열을 사용해야합니다. 단지 더 이해하기 쉽습니다.

$wiki = array(); 
$unlock_field= mysql_result($wiki_result_set,$i,"unlock_field"); 

$wiki[$unlock_field] = $row['$unlock_field']; 
관련 문제