note 54656 deleted from ref.array by aidan

From: Date: Sun, 09 Oct 2005 09:12:53 +0000
Subject: note 54656 deleted from ref.array by aidan
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-96728@lists.php.net to get a copy of this message
Note Submitter: Domenic Denicola ---- Yet another PHP array -> JavaScript array function; this one is designed for multidimensional associative arrays with string and/or number keys. <? function PhpArrayToJsArray($array, $arrayName) { return 'var ' . $arrayName . ' = ' . PhpArrayToJsArray_Recurse($array, $arrayName); } function PhpArrayToJsArray_Recurse($array, $arrayName) { // Base case of recursion if(! is_array($array) ) { return '"' . $array . '";' . "\n"; } $retVal = "new Array();\n"; foreach($array as $key => $value) { $key = '"' . $key . '"'; $retVal .= $arrayName . '[' . $key . '] = ' . PhpArrayToJsArray_Recurse($value, $arrayName . '[' . $key . ']'); } return $retVal; } ?> So for example: <? $theArray = array("A" => array("a", "b", "c" => array("x")), "B" => "y"); echo PhpArrayToJsArray($theArray, "myArray"); ?> Gives myArray = new Array(); myArray["A"] = new Array(); myArray["A"]["0"] = "a"; myArray["A"]["1"] = "b"; myArray["A"]["c"] = new Array(); myArray["A"]["c"]["0"] = "x"; myArray["B"] = "y"; Pretty powerful, in my opinion.

« previous php.notes (#96728) next »