Terve!
Tietääkö kukaan, että miten JavaScriptillä saisi alerttina tulostettu sellaisenaan PHP -taulukon?
Esimerkkinä taulukko minkä voisi tulostaa:
$message = array(0 => array(1, 2), 1 => array('henkilot' => array('Nimi' => 'Test', 'Numero' => 05050), 'osoitteet' => array('Katu' => 'Joku katu', 'Jne' => 1111))); echo "<script type=\"text/javascript\">"; echo " alert(\"$message\");\n"; echo "</script>";
Tämä ei tosin toimi, koska ilmeisesti JavaScript haluaisi tämän stringinä...
Olen kuitenkin koittanut muuttaa taulukkoa jsoniksi, castingia jne. mutta jostain syystä en saa taulukkoa tulostettua.
Eli miten PHP -taulukon (moniulotteisen ja tavallisen) saisi tulostettua tuollaisenaan alerttina? Vai pitääkö käydä silmukalla läpi vai miten?
Eiköhän se ole helpointa tehdä php:n foreachilla:
$str = ""; foreach ($message as $m){ if (is_array($m)){ foreach ($m as $key => $value){ $str .= $subm; } } else { str .= $m; } }
Jotenkin noin pitäisi toimia
Ei ei saatana Ripe, tuohan on paska.
Tein sinulle tällaisen, mihin voin laittaa tilinumeron? Meni arvioilta 1 - 5 tuntia.
class DynamicEssentialExxxelattor { private $strXxXstr3 = array(); function ex3mImplodeMultidisaster2000(array $xXx) { foreach($xXx as $xSecc) { if (is_array($xSecc)) $this->ex3mImplodeMultidisaster2000($xSecc); else $this->strXxXstr3[] = $xSecc; } } function __toString() { return implode(' ', $this->strXxXstr3); } } $message = array( array( "G" => "A", "A" => array(array("B")), "C" ), "Kepa" => array("D", "C" => array("F" => "E"), array( array( "F", array( "I" => "G" ) ) )) ); $dynamiEssentialExxxelattor = new DynamicEssentialExxxelattor(); $dynamiEssentialExxxelattor->ex3mImplodeMultidisaster2000($message); print $dynamiEssentialExxxelattor;
qeijon luokka on ihan hieno, mutta tarkoitus on nimenomaan, että noi avaimet näkyis myös... alertin tarkoitus olis ihan vaan helpottaa tietämään, että millainen taulukko on ja mitä avaimia ja arvoja siellä on. Eli sais tulostettua alertilla sellaisenaan, kun se taulukko PHP:ssä on.
Tolostus esimerkiksi muotoa: array(0 => array(1, 2), 1 => array('henkilot' => array('Nimi' => 'Test', 'Numero' => 05050), 'osoitteet' => array('Katu' => 'Joku katu', 'Jne' => 1111)));
Vähän selitin huonosti...
$message = array(0 => array(1, 2), 1 => array('henkilot' => array('Nimi' => 'Test', 'Numero' => 05050), 'osoitteet' => array('Katu' => 'Joku katu', 'Jne' => 1111))); print_r($message); // Array ( [0] => Array ( [0] => 1 [1] => 2 ) [1] => Array ( [henkilot] => Array ( [Nimi] => Test [Numero] => 2600 ) [osoitteet] => Array ( [Katu] => Joku katu [Jne] => 1111 ) ) )
Eli vastaus on: print_r
No tuohan toimii var_export
-funktiolla ja tuo print_r toimii myös
Ja qeijolle vielä, että tuo oli puolessa minuutissa kyhätty viritelmä, ei ollu mitään tietoa toimiiko
joo, kyllä noi pystyy tulostaan tietty print_r:llä, var_export:lla, var_dump:lla jne. mutta pystyykö JavaScriptin alertilla?
<script> alert('Array ( [0] => Array ( [0] => 1...'); </script>
Toi sun alkuperäinen kysymys oli niin typerästi esitetty, ettei tässä kukaan tiennyt mitä oikein kaipasit.
<?php $message = array(0 => array(1, 2), 1 => array('henkilot' => array('Nimi' => 'Test', 'Numero' => 05050), 'osoitteet' => array('Katu' => 'Joku katu', 'Jne' => 1111))); $message = str_replace (array("\r\n", "\n", "\r"), '', print_r($message, true)); ?> <script> alert('<?= $message; ?>'); </script>
Aihe on jo aika vanha, joten et voi enää vastata siihen.