php arrays in javascript verwenden
trautmann
- javascript
0 Christian Seiler0 suit
Hi,
ich habe garade aus http://www.php-faq.de/q-funktion-php-js.html erfahren wie man php-variablen in javascript verwendet, aber kann man so auch arrays auslesen?
Nicht mit einer Zahl in den [] sonder mit einer Variable darin die sich noch steigern soll.
also vereinfacht brauche ich eine javascript-schleife die mir jedem durchgang einen anderen teil eines arrays ausgibt.
danke schon jetzt
mfg
Trautmann
Hallo,
ich habe garade aus http://www.php-faq.de/q-funktion-php-js.html erfahren wie man php-variablen in javascript verwendet, aber kann man so auch arrays auslesen?
Nicht mit einer Zahl in den [] sonder mit einer Variable darin die sich noch steigern soll.
also vereinfacht brauche ich eine javascript-schleife die mir jedem durchgang einen anderen teil eines arrays ausgibt.
Neuere PHP-Versionen bieten Dir json_encode() an, d.h. (um das Beispiel der FAQ abzuändern:)
<script type="text/javascript" language="JavaScript">
<?php
[code lang=php]$php_array = array(1,2,4,5);
printf("js_var = %s;\n",
json_encode($php_array)
);
?>
</script>[/code]
Alternativ kannst Du - wenn Du weißt, dass das Array nur eine Ebene hat (also direkt Strings enthält und keine weiteren Arrays), auch folgendes machen:
<?php
// Hilfsfunktion zum JS-Escapen, siehe das von Dir verlinkte Beispiel
function jsescape ($str) {
return strtr(addslashes($str), array("\r" => '\r', "\n" => '\n'));
}
?>
<script type="text/javascript" language="JavaScript">
<?php
[code lang=php]$php_array = array(1,2,4,5);
printf("js_var = [\"%s\"];\n",
join('", "', array_map ('jsescape', $php_array))
);
?>
</script>[/code]
Viele Grüße,
Christian
Hi,
danke für die schnelle antwort
mir gefällt das erste bsp sehr gut aber wie kann ich bestimmen welcher teil des arrays jetzt der js-variable zugewiesen wird?
Hallo,
danke für die schnelle antwort
mir gefällt das erste bsp sehr gut aber wie kann ich bestimmen welcher teil des arrays jetzt der js-variable zugewiesen wird?
Naja, eigentlich immer der ganze. Wenn Du nur einen Teil einer JS-Variable zuweisen willst, musst Du das halt erstmal in PHP selbst rausfiltern (d.h. Dir einen zweiten Array zusammenbasteln, der nur das enthält, was Du JS übergeben willst).
Viele Grüße,
Christian
so danke alles klar funktioniert jetzt ;)
danke für die hilfe
mfg
trautmann
also vereinfacht brauche ich eine javascript-schleife die mir jedem durchgang einen anderen teil eines arrays ausgibt.
wies siehts mit einem xml-schnipsel aus, den du prozedural abarbeitest? oder an anderes beliebiges austauschformat wo jeweils schnittstellen für php UND js extieren - json zb?