我希望读取,更新,插入数据来自/到以下结构中的平面文件(简单版本)并且还手动。处理它最简单的方法是什么?
$schools = array(
"PHCS"=> array(
"full_name"=> "Pacific Hills Christian School",
"version"=> "4.0.2b",
"etc"=> "etc"
),
"WAC"=> array(
"full_name"=> "Wollondilly Anglican College",
"version"=> "4.0.1",
"etc"=> "etc"
),
);
使用YAML时,必须非常精确地使用语法和缩进,并且在vi中编辑XML也可能有点混乱。
所以我在考虑使用php数组变量?如何以上述格式保存?
答案 0 :(得分:1)
好吧,如果你必须手动编辑文件,那么很难击败YAML,因为这种格式可能就像你要来的那样(在这个星球上,至少......)到“a 设计的文件格式对手工编辑很友好。“
你对“使用PHP数组变量”的思考在这里确实无关紧要,因为这些概念仅适用于程序的操作... ...在读取数据之后之后再将数据写回 out。它们与您决定使用的格式没有任何关系。
我建议你找出人最容易处理的数据表示,然后围绕它编写计算机程序。此外,由于人类可能存在某些东西,该程序应该不信任其输入。如果遇到垃圾,它应该“慷慨,有意义,外交地”回应,例如:
答案 1 :(得分:1)
好吧,你可以尝试jason_encode / jason_decode
它可以帮助您格式化所有数据以进行输出。 它还有助于您管理数据。
答案 2 :(得分:1)
我想到了一些事情:
file_put_contents($file, serialize($schools))
编辑:啊,如果你需要通过文本编辑器进行编辑,那些将不会很好。您可以使用PHP中的格式 -
return array(
"PHCS"=> array(
"full_name"=> "Pacific Hills Christian School",
"version"=> "4.0.2b",
"etc"=> "etc"
),
"WAC"=> array(
"full_name" => "Wollondilly Anglican College",
"version"=> "4.0.1",
"etc"=> "etc"
),
);
然后你可以在文件中弹出它并执行$schools = require($schools)
它会很好地导入。我将它用于数据固定装置,效果很好。
答案 3 :(得分:0)
我使用@ Phil的解决方案php.net/manual/en/function.var-export.php
不要忘记插入
<?php
开头并以?>
variable name
关注=
你可以使用像
这样的东西 <?php \n\n\n\$schools=\n" . var_export($schools,true) . "\n\n\n?>";