Funktionen reduzieren, um PHP-Array in JS-Array umzuwandeln
enrico
- php
0 frankx
Nochmals Hallo,
über nachfolgenden PHP-Code kann ich ein PHP-Array in ein funktionierendes
Javascript-Array umwandeln:
class array_to_js
{
var $js_arrays;
function error ($message, $stop = true)
{
echo "<b>array_to_js</b> - FATAL ERROR: ".$message;
if ($stop)
exit;
}
function Array_hinzufuegen ($myarray, $outputvarname, $level = 0)
{
if (isset ($this -> js_arrays [$outputvarname]))
{
$this->error('This Array has been added more than once: "'.$outputvarname.'"');
}
for ($i = 0; $i < $level; $i++)
{
$pre .= '';
}
$this -> js_arrays [$outputvarname] .= $pre . $outputvarname . ' = new Array ();' . "\n";
foreach ($myarray as $key => $value)
{
if (!is_int ($key))
{
$key = '"'.addslashes($key).'"';
}
if (is_array ($value))
{
$this -> Array_hinzufuegen ($value, $outputvarname . '[' . $key . ']', $level + 1);
}
else
{
$this -> js_arrays [$outputvarname] .= $pre . '' . $outputvarname . '[' . $key . ']' . ' = ';
if (is_int($value) or is_float($value))
{
$this->js_arrays[$outputvarname] .= $value;
}
else
if (is_bool($value))
{
$this->js_arrays[$outputvarname] .= $value ? "true" : "false";
}
else
if (is_string($value))
{
$this->js_arrays[$outputvarname] .= '"'.addslashes($value).'"';
}
else
{
$this->error('Unknown Datatype for "'.$outputvarname.'['.$key.']"');
}
$this->js_arrays[$outputvarname] .= ";\n";
}
}
}
function Ausgabe($scripttag = true)
{
if ($scripttag)
{
$outputstring = '<script language="javascript" type="text/javascript">'."\n";
}
foreach ($this->js_arrays as $array)
{
$outputstring .= $array;
}
if ($scripttag)
{
$outputstring .= '</script>'."\n";
}
return $outputstring;
}
}
Da ich von dieser Funktionalität bei einer anderen Datei nur die Filmtitel benötige,
die über die Systematik Film[Nr.]["Titel"] erzeugt werden, möchte ich die Funktionen
entsprechend anpassen/reduzieren.
Was kann ich weglassen, um im Browser nur die Filmtitel anzeigen zu lassen?
Vielen Dank für Eure Hilfe.
enrico
Hellihello
du kennst json (.org)?
Dank und Gruß,