@fustaska

Как преобразовать строку в масив с «[]»?

Приветствую. У меня возникла глобальная, которую я не могу до сих пор решить :((
Есть строка : "[{'CS': 3, 'CV': 9, 'V': 9}, {'CS': 0, 'CV': 13, 'V': 4}, {'CS': 0, 'CV': 6, 'V': 6}]", я уже всё перепробовал, чтобы извлечь дынные в json формате ...
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
alams_stoyne
@alams_stoyne
Full Stack Developer - #PHP #CSS #JS #DB
Создаём Json
$temp_arr = [
    ['CS'=> 3, 'CV'=> 9, 'V' => 9],
    ['CS'=> 3, 'CV'=> 9, 'V' => 9],
    ['CS'=> 3, 'CV'=> 9, 'V' => 9],
];
$json_temp = json_encode($temp_arr);
var_dump($json_temp );

Получим
string(68) "[{"CS":3,"CV":9,"V":9},{"CS":0,"CV":13,"V":4},{"CS":0,"CV":6,"V":6}]"


Теперь смотрим вашу строку и понимаем что беда в ковычках.... используем код:
$text = "[{'CS': 3, 'CV': 9, 'V': 9}, {'CS': 0, 'CV': 13, 'V': 4}, {'CS': 0, 'CV': 6, 'V': 6}]"; 
$array = json_decode(str_replace('\'','"',$text)); 
var_dump($array);


На выходе получим:
array(3) {
  [0]=>
  object(stdClass)#1 (3) {
    ["CS"]=>
    int(3)
    ["CV"]=>
    int(9)
    ["V"]=>
    int(9)
  }
  [1]=>
  object(stdClass)#2 (3) {
    ["CS"]=>
    int(0)
    ["CV"]=>
    int(13)
    ["V"]=>
    int(4)
  }
  [2]=>
  object(stdClass)#3 (3) {
    ["CS"]=>
    int(0)
    ["CV"]=>
    int(6)
    ["V"]=>
    int(6)
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы