String to Array

JesusFreak777

Erfahrenes Mitglied
Hallo liebe Leut,

ich habe mir mit Javascript mir ein array gebaut, via base64 codiert und über die Url weitergegeben! Jetzt habe ich das Array mit PHP wieder decodiert und möchte es nun nutzen,... dummerweise ist es jetzt ein String,...

Via explode, kann man zwar das Array zerlegen, aber das ist umständlich (vorallem weil ich gerne multidiemensional arbeiten möchte und da keine besondere Regel zu erkennen ist!)

Gibt es noch ne andere Möglichkeit****?

so in etwa könnte der string aussehen!
PHP:
$_GET['array'] = "array("datum" => "24.11.11", "bemerkung" => "", "medium0" => "1", "stueck0" => "12", "medium1" => "4", "stueck1" => "5")";

Vielen dank für eure Hilfe!

baer
 
Hi,

ich hab mich noch nicht all zu lange (gerade) mit an JSON beschäftigt, aber irgendwie beschwichtigt mich das Gefühl das es genau umgekehrt Funktioniert -> also nicht von JS nach PHP sondern von PHP nach JS,...

evtl. kann mir jemand ein konkretes Beispiel geben? -> ich weiß scho lernen und suchen,... ich such ja auch aber wenn mir jemand schreibt versuchs mal mit AJAX das ist das für meine Verhälltnisse etwas zu hoch :/ sorry....

Vielen Dank!
 
so in etwa könnte der string aussehen!

Das hilft nicht wenn man dir wirklich sagen will wie du den String aufteilen kannst.

Aber abgesehen davon. Wieviele Angaben sind es denn die du so an die URL anhägst?
Wenn es nur die sind die oben zu sehen sind, dann übergebe doch jede als separaten Parameter!
 
Hi,

naja, logischerweiße habe ich das gekürzt um euch nicht mit unnötigen Sachen zu beschäftigen :)
,... aber es könnten schon so 70-80 einträge sein!

natürlich kann ich das Array auch anders übergeben und dann einfach exploden (zwei mal um keys und values erhalten) und dann wieder zurück in ein Array pushen,...

aber es ist ja schon ein fertiges Array,... nur eben kein Array sondern ein String :/

ich bin überfordert :(
 
Wenn du bei diesem Array-String bleiben willst, dann bietet sich der eval() an.
PHP:
//Teststring
$string = 'array("datum" => "24.11.11", "bemerkung" => "", "medium0" => "1", "stueck0" => "12", "medium1" => "4", "stueck1" => "5")';
//Umwandeln in den Array $array
eval("\$array = ($string);");

echo $array['medium0'];

Oder so
PHP:
$array = eval("return ($string);");
 
Man und ich versuche seit fast einer Stunde eval dazu zu bringen mir den String umzuwandeln und bin nicht darauf gekommen wie es geht.
 
Das geht übrigens auch mit [phpf]include[/phpf] und [phpf]require[/phpf]:
PHP:
<?php
// include.php
return array('key' => 'value', 'key2' => 'value2');
?>

<?php
// main.php
$data = include('include.php');
var_dump($data);
?>
 
Zurück