note 54656 added to ref.array

From: Date: Mon, 11 Jul 2005 19:20:17 +0000
Subject: note 54656 added to ref.array
Groups: php.notes 
Request: Send a blank email to php-notes+get-91780@lists.php.net to get a copy of this message
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. ---- Manual Page -- http://www.php.net/manual/en/ref.array.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+54656 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+54656&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+54656&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+54656&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+54656&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+54656&report=yes&reason=non-english Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+54656&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+54656&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#91780) next »