regex php несколько экземпляров и пары

У меня есть $user->id = '1{3}4{5}6';//could be any and more but {X}X are pairs

  • 1 представляет собой обычный product_id, но не нужен для конечного результата.
  • {3} и {5} представляют $ option
  • 4 и 6 – $ value
  • {3} 4 и {5} 6 являются парами

Я требую для каждой пары вставки db.

Как я могу извлечь значения и выполнить следующее выполнение db:

 //Something like for each ?? as option and ?? as $value do: $sth = $this->dbh->prepare("insert into customers_basket_attributes ( products_id, products_options_id, products_options_value_id ) values (?, ?, ?)"); $sth->execute(array($user->id, $option, $value)); 

Текущий код с принятым ответом от * Anubhava *

 if ($user->attr = 1) { if (preg_match_all('/\{(\d+)\}(\d+)/u', $user->id, $m )) { $option1 = $m[1]; $value2 = $m[2]; $output = array_combine ( $option1, $value2 ); $sth = $this->dbh->prepare("insert into customers_basket_attributes (customers_id, products_id, products_options_id, products_options_value_id) values ('1', ?, ?, ?)"); foreach($output as $option => $value) { $sth->execute(array($user->id, $option, $value)); } } } return json_encode(1); 

Кажется, готовятся к подготовленным заявлениям.

Related of "regex php несколько экземпляров и пары"