Moin!
Noch ein Nachsatz:
Aus der Datenhaltung
id sonstwas json
0 foo {"firma":1,"strasse":1}
1 bar {"strasse":1}
2 tok {"firma":1}
und der Tatsache, dass Du dann doch wissen willst, ob in dem Datensatz die firma drin ist ergibt sich geradezu zwingend, dass es besser und einfacher wäre die Datenhaltung wie folgt umzustellen:
id sonstwas hasFirma hasStrasse
0 foo 1 1
1 bar 0 1
2 tok 1 0
Dann kannst Du das gleich mit SQL abfragen.
SELECT `hasFirma` FROM `tabelle` WHERE `id`=0;
Rückgabe: 1
SELECT `hasFirma` FROM `tabelle` WHERE `id`=1;
Rückgabe: 0
SELECT `hasFirma` FROM `tabelle` WHERE `id`=2;
Rückgabe: 1
oder
SELECT `id` FROM `tabelle` WHERE `hasFirma`=1;
Rückgabe: 1,3
Kein Gefummel, keine Fehler, geringster Aufwand. Und vorbereitet für künftige Erweiterungen der Aufgabe.
Jörg Reinholz