String in Array

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. :confused: 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!

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

Die rote Box: PHP: unserialize - Manual

Wenn es jemand schaffen sollte in dein „unserialize“ Daten zu schummeln, kann man wohl Blödsinn damit machen :slight_smile:

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 :wink:
Michael