Hallo,
wieder einmal stehe ich vor einer Frage:
Ich habe einen Array in einem Skript, den ich in eine String-Variable schreibe:
$GW = Array // Große Wohnung:
(
"Arbeitszimmer" => Array
(
"AktTemp" => "$GWAzAT",
"SetTemp" => "$GWAzST",
"State" => "$GWAzSta"
),
"Bad" => Array
(
"AktTemp" => "$GWBAT",
"SetTemp" => "$GWBST",
"State" => "$GWBSta",
),
);
$GWID = print_r($GW, true);
SetValue(12345, $GWID);
Jetzt möchte ich über die String-Variable auf den Array zugreifen. Mit
$A1 = GetValue(12345);
bekomme ich aber nur einen String. Den muss ich also irgendwie wieder in einen Array umwandeln . Leider gelingt mir das nicht. Kann jemand helfen???
Danke und Grüße…
Print_r ist dafür nicht geeignet.
Schau Mal hier:
PHP: serialize - Manual
Michael
Danke, Michael.
So ein Mist, ich habe ewig rumgehampelt, bis ich den Array „1:1“ in der String-Variable hatte, nun ist das wohl nicht der richtige Weg.
Dann lese ich mich mal in den von Dir angegebenen Link ein…
Klappt perfekt - vielen Dank noch mal!
paresy
5. April 2018 um 22:17
5
serialize/unserialize haben ggf. „Sicherheitsprobleme“ wie man gerne bei den PHP Jungs liest. Sofern nichts dagegenspricht würde ich im Normallfall json_encode/json_decode präferieren.
paresy
Huch… hast du da eine Quelle?
Nutzte das um diverse PHP-Objecte zu cachen. Das funktioniert mit Json leider nicht.
Michael
paresy
5. April 2018 um 22:55
7
Die rote Box: PHP: unserialize - Manual
Wenn es jemand schaffen sollte in dein „unserialize“ Daten zu schummeln, kann man wohl Blödsinn damit machen
Ich steck da nicht im Detail drin, aber Google findet ein paar Infos: php unserialize security - Google-Suche
paresy
Ah,okay danke.
Hatte nur bei serialize geschaut.
Solange die IPS InstanceBuffer sicher vor fremden Zugriff sind, habe ich dann keine Lücke
Michael