Можно ли хранить переменную с переменной в переменной? - PullRequest
1 голос
/ 20 марта 2012

Я столкнулся с интересной проблемой здесь.У меня есть кусок кода, где я хотел бы отправить некоторые данные из разных массивов в мою базу данных.Проблема в том, что у меня много дублирования кода, поэтому я пытался сделать из него функцию.Пример:

$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;
}

Я пытаюсь сохранить переменную $user['education'][$i]['school']['name'] в$item таким образом, что всякий раз, когда я сохраняю $item в другой переменной, он снова вставляет значение $i.Я не знаю, возможно ли это вообще, но об этом стоит подумать.

1 Ответ

0 голосов
/ 20 марта 2012

Для имен переменных вы можете использовать что-то вроде $ {'myvariable _'. $ I}, которое будет выводить $ myvariable_0, _1, ... Для массива, я не думаю, что это работает (не могли бы вы попробовать, пожалуйста?), иначе вы должны использовать такую ​​функцию:

function getNthSchoolName($n) {
    global $user;
    return $user[''][$n]['schoool']['name'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...