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