Вы можете использовать eval
, чтобы присвоить содержимое $variable
другой переменной в виде массива, например:
$variable= "'Body Style'=>'SEDAN 4 DOOR';'CD Player'=>'PRESENT';'Color'=>'GRAY';'Engine Size'=>'3.0L V6 FI F';'Air Bags'=>'4';'Radio'=>'PRESENT';'Tape Deck'=>'N/A';'Estimated Repair Cost'=>'5518';'ACV'=>'6122';'Driver Airbag'=>'INTACT';'Passenger Airbag'=>'INTACT';'Left Side Airbag'=>'INTACT';'Right Side Airbag'=>'INTACT';'VIN Status'=>'OK';'Interior Color'=>'GRAY';'Airbag'=>'INTACT';'KeyFob'=>'PRESENT';";
$variable = str_replace(';', ',', $variable);
eval("\$array = [$variable];");
print_r($array);
Однако использование eval
крайне не рекомендуется. Смотрите здесь: http://php.net/manual/en/function.eval.php
Я предполагаю, что вы получаете содержимое $variable
откуда-то еще. Есть ли какая-то конкретная причина, по которой у вас есть данные в этом формате, а не в json, например?
РЕДАКТИРОВАТЬ: я только что понял, что код не будет работать как есть, потому что значения массива разделяются точкой с запятой, а не двоеточия. Сначала нужно заменить точку с запятой на двоеточие. Я обновил код, чтобы отразить это.