Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: =?utf-8?Q?Karl_Pfl=C3=A4sterer?= Newsgroups: de.comp.lang.php Subject: Re: json als mini datenbank Date: Mon, 19 Sep 2022 18:02:30 +0200 Lines: 62 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net gbmvGbGY+Cjo+/tUfnRBOQRDZwXjCACxKJw7I444ZV+3wb3i0= Cancel-Lock: sha1:3cQ6ITQvSMjDJpTcby9A+xqRfNM= sha1:0ZEF1JTMnGJUP+5PFSw+ZStkkHg= User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (darwin) Xref: csiph.com de.comp.lang.php:4860 Jan Novak writes: > Hallo ihr Lieben, > > > gibt es fertige code-snippets, mit welchen ich eine json Datei als kleine, > temporäre Datenbank benutzen kann, ohne das Rad neu "schreiben" zu müssen > (sqlite steht nicht zur Verfügung, ausserdem sollen die Werte in der "db" > Datei auch noch Menschen lesbar sein). > Mir geht es um sowas wie get / set für Arrays, welche vorher nicht fest > definierte wurden. > > Wenn ich einen Arraybaum speichen will, dann prüfe ob Werte bereits vorhanden > sind und übeschreibe diese, alle anderen füge hinzu. > Wenn ich etwas lesen will, dann gib den entsprechenden Part / das Array > zurück, wenn nicht vorhanden, dann null. Du liest die json datei ein, deserialisierst sie zu einem PHP Array. Arrays können alles, was du willst php -a Interactive shell php > $a = []; php > $a[1][2]['a']['b'] = 42; php > var_dump($a); array(1) { [1]=> array(1) { [2]=> array(1) { ["a"]=> array(1) { ["b"]=> int(42) } } } } php > var_dump($a[1][2][27] ?? 'does not exist'); string(14) "does not exist" php > $a[1][2][27] = 'jetzt aber'; php > var_dump($a); array(1) { [1]=> array(1) { [2]=> array(2) { ["a"]=> array(1) { ["b"]=> int(42) } [27]=> string(10) "jetzt aber" } } } KP