Moin!
Also, ok. Deine Daten stammen aus einem Formular und stehen in der Datenbank, sehen etwa so aus:
id sonstwas json
0 foo {"firma":1,"strasse":1}
1 bar {"strasse":1}
2 tok {"firma":1}
Die Datensätze holst du mit
SELECT `ID`, `json` FROM `tabelle`
aus der Datenbank.
Du bekommst im Endeffekt für jede Zeile etwas wie
$row['id']=0;
$row['json']='{"firma":1,"strasse":1}';
jetzt machst Du aus $row['json'] das Array:
$arr=json_decode($row['json'])
var_dump sollte etwas liefern wie:
[firma] => 1
[strasse] => 1
und Du kannst den Array befragen:
if ( array_key_exists('firma', $arr) ) {
echo "In Datensatz ", $row['id'], " ist firma vorhanden.<br>\n";
}
ohne Datenbank - aber getestet:
<?php
# Daten aus der Datenbank:
$row['json']='{"firma":1,"strasse":1}';
$row['id']=0;
# Deserialisieren:
$arr=json_decode($row['json']);
# Dump
var_dump($arr);
# Test
if ( array_key_exists('firma', $arr) ) {
echo "In Datensatz ", $row['id'], " ist firma vorhanden.<br>\n";
}
Ausgaben:
object(stdClass)#1 (2) {
["firma"]=>
int(1)
["strasse"]=>
int(1)
}
In Datensatz 0 ist firma vorhanden.<br>
Jörg Reinholz