2012-03-20 9 views
1

私はここで面白い問題に直面しています。私は別の配列から私のデータベースにいくつかのデータを送信したいコードを持っています。問題は、私はコードの重複が多いので、私はそこから機能を作り出そうとしていたということです。例:変数を持つ変数を変数に格納することはできますか?

$i = "0"; 
$education = $user['education'][$i]['school']['name']; 
while ($education != null){ 
    mysql_query("INSERT INTO educations VALUES(
    {$user['id']}, 
    '{$user['education'][$i]['school']['name']}' 
)"); 
    } 
    $i++; 
    $education = $user['education'][$i]['school']['name']; 
} 

そして、私はそれがこのように動作したいと思います:

$i = "0"; 
$item = $user['education'][$i]['school']['name']; 
$table = 'educations' 
$current = $item; 
while ($current != 'EOL'){ 
    if ($current != null){ 
    mysql_query("INSERT INTO {$table} VALUES(
    {$user['id']}, 
    '{$item}' 
)"); 
    } 
    $i++; 
    $current = $item; 
} 

私がやろうとしている事は、そのような方法で$itemに変数variable $user['education'][$i]['school']['name']を保存することです私が別の変数に$itemを保存すると、それは再び$iの値を挿入します。これが可能なのかどうかは分かりませんが、考えるのは面白いことです。

答えて

0

変数名には、$ myvariable_0、_1、...を出力する$ {'myvariable _'。$ i}のようなものを使用できます。 配列については、動作しないと思われます?してください)、それ以外のあなたがそのような機能を使用する必要があります。

function getNthSchoolName($n) { 
    global $user; 
    return $user[''][$n]['schoool']['name']; 
} 
+0

それは配列では動作しません、配列変数の引用がエラーを生成し、(明らかに引用符をエスケープ)右のオブジェクトを返しません。 。私はあなたの機能を使用しますが、ありがとう! – hannesbelen

関連する問題