2019年长春网站建设最新价格表,网络工程师app,卓讯企业名录搜索软件免费,wordpress编辑器分页我有一个文本文件,存储有关不同项目的信息.该文件是结构化的.文件中的每个项目都由大括号{}分隔,并以逗号开头.每个项目都有其拥有的属性列表,并且属性可以存在或不存在.如果不存在,服务器将假定它们为“默认”.每个条目都用大括号括起来,并以逗号结尾#xff1a;{},该文件还包…我有一个文本文件,存储有关不同项目的信息.该文件是结构化的.文件中的每个项目都由大括号{}分隔,并以逗号开头.每个项目都有其拥有的属性列表,并且属性可以存在或不存在.如果不存在,服务器将假定它们为“默认”.每个条目都用大括号括起来,并以逗号结尾{},该文件还包含标准的C注释,//以及/ * * /该项目的每个属性都是从33个属性池中标准化的,其中只有3个是强制性的.可以包括或不包括属性.后端程序假定不包含的属性为默认属性.有一些属性可以是多行甚至是多属性(如果需要的话,可以构成一个数组).因此,该文件大致如下所示itemdb: (/*{Multi line commenthere to explain the file},*/// Here starts the items{Id: 500DatabaseName: Item_1Name: Item 1Type: 1Buy: 40Weight: 10},{Id: 501DatabaseName: Item_2Name: Item 2Type: 1Sell: 600Weight: 200Script: },// Here is some more items{Id: 637DatabaseName: Item_137Name: Item 137Type: 5Buy: 9000Weight: 300Trade: {nodrop: truenotrade: true}Script: do this stuff;then this stuff;},// Note: Edited this in 2015-11-23, see below.)我需要一种将所有元素分解为数组以显示给用户的方法.数组看起来像这样(来自上面的示例)$itemDB Array([500] Array([DatabaseName] Item_1[Name] Item 1[Type] 1[Buy] 40[Weight] 10)[501] Array([DatabaseName] Item_2[Name] Item 2[Type] 1[Sell] 600[Weight] 200[Script] do stuff)[637] Array([DatabaseName] Item_137[Name] Item 137[Type] 5[Buy] 9000[Weight] 300[Trade] array([nodrop] true[notrade] true)[Script] do this stuff;\nthen this stuff));(因此,基本上将文件分成多维数组,文件的’Id’属性是每个数组的键,文件的每个属性是其自己的键/值)我确实想出了以下代码来将数组分成每个条目$ready str_replace(array({,}),|, $itemDB);$itemDB_explode explode(|, $ready);但是这段代码只会让我半途而废.我基本上得出这样的数组[7] string(124) Id: 501 DatabaseName: Item_2 Name: Item 2 Type: 1 Sell: 600 Weight: 200 Script: 但是对于我的一生,我无法弄清楚如何获得比这更进一步的信息,包括如何使数组的键成为Id以及每个属性都有自己的键/值.重点是向用户显示条目,允许他们进行编辑,然后将文件保存回去.希望我能在将其保存回本方面获得帮助.对于那些无疑会问的人是的,我知道类似这样的内容更适合SQL数据库.问题是该文件以及读取和解释该文件的后端不是我写的,我无法更改它.我只是在编写基于Web的前端以轻松更改该文件.预先感谢您提供的帮助.编辑2015-11-23我从最初的问题中删除了一些属性.考虑对实际文件进行的编辑,并添加那些缺少的属性{Id: 845DatabaseName: Item_345Name: Item 345Type: 3Buy: 30000Nouse: {override: 30sitting: true}Stack: [99, 4]OnEquipScript: OnUnequipScript: do some more stuff;this is some more stuff;},考虑一下文件中该附加块的结果数组是什么样的[845] Array([DatabaseName] Item_345[Name] Item 345[Type] 3[Buy] 30000[Nouse] array([override] 30[sitting] true)[Stack] ([0] 99[1] 4)[OnEquipScript] do this stuff;[OnUnequipScript] do some more stuff;\nthis is some more stuff;)