Я пытаюсь создать систему баз данных для обработки сохраненных полотен ткани. Чтобы все работало, мне нужны объекты Canvas
json=canvas.toDatalessJSON; // in javascript
…быть сохраненным в php как файл .json в системе индексированных массивов, что позволяет загружать и добавлять дополнительные объекты canvas или удалять объекты.
Меня беспокоит то, как на самом деле это структурировать. То, что я пытаюсь здесь что-то вроде:
... The json structure i'm considering ...
["1"]{Object:.....}
["2"]{Object:.....}
["4"]{Object:.....} (["3"] deleted in this case)
... Trying to create in php ...
$i="1";
$A=[];
$A[$i]=[];
array_push($A[$i],json_decode($json));
$newjson=json_encode($A);
Но это явно не способ сделать это. Есть идеи ?
РЕДАКТИРОВАТЬ 1
Спасибо за ваш ответ @Michael. Я не использовал именно то, что вы предлагаете. Но я принимаю это как ответ, который позволил моему решению. В моем решении я добавляю индекс к объекту и сбрасываю индекс, когда собираюсь использовать объект.
Создайте:
$dataA=array();
$dataB=json_decode($data,true);
$dataB["index"]= $ThumbIndex;
$dataA[]=&$dataB;
$data=json_encode($dataA);
file_put_contents($filename.'.json',$data);
Добавлять:
$data0=file_get_contents($filename.'.json');
$dataA=json_decode($data0,true);
$dataB=json_decode($data,true);
$dataB["index"]= $ThumbIndex;
$dataA[]=&$dataB;
$data=json_encode($dataA);
file_put_contents($filename.'.json',$data);
Предполагая, что вы пытаетесь перезаписать элемент «1» в вашем объекте json с помощью php, попробуйте это:
$newjson = json_decode($json, true);
$newjson["1"] = Array();
$newjson = json_encode($newjson);
Если вы хотите добавить элемент:
$newjson = json_decode($json, true);
$newjson[] = Array();
$newjson = json_encode($newjson);
Других решений пока нет …